Locale Settings

found at admin/config/regional/settings in Drupal 7.

Default time zone

Sets the default time zone for the website. Think of this setting as the time zone where the organization is based. When anonymous users visit the site, time fields displayed for them will be converted to this time zone.

User-configurable time zones

Determines if individual users can set their own default time zone. When the user is logged on, this effectively over-rides the above "Default time zone" setting.

First day of week:

Sets the desired first day of week. Mostly affects calendar grid displays, but also affects date-browser output when viewing dates by week. For most US/english sites, this should be set to Sunday. Monday is also frequently used in countries that follow the ISO 8601 date standard. Also, Saturday is common among Gulf Cooperation Council countries. (see http://en.wikipedia.org/wiki/Seven-day_week#Week_numbering for details)

Use ISO-8601 week numbers

For USA/Canada/Australia as well as many Middle East countries, week numbers DO NOT follow the ISO-8601 standard, and this option should be unchecked (unchecked is the default behavior).
To fully comply with the ISO-8601 standard for date & time, this option should be checked & First day of week should be set to Monday. This is common for much of Europe & Asia.

Time Zone settings unique to each date field instance

found at /admin/structure/types/manage/[machine_name_of_node-type]/fields/[machine_name_of_field]

Time zone handling

There are 5 different options for field Time zone handling:

  1. Site's time zone - When entering data into the field, the data entered is assumed to be in the site's time zone. When the data is saved to the database, it is converted to UTC. When retrieved from the database, the data is converted to the Site's time zone for anonymous users or the User's time zone for logged in users when User-configurable time zones is enabled.
  2. Date's time zone - With this option enabled, the date field adds a select box to explicitly specify the time zone for the date entered. When the date is saved to the database, it is not converted it may (depending on module version) be converted to UTC or to the timezone configured for the user or site, & the time zone information is saved alongside the date. When retrieved from the database, the date is converted to the default timezone (whether that be set by the user or the site). [Unfortunately, this conversion is buggy, and rarely works correctly. See this issue.]
  3. User's time zone - When entering data into the field, the data entered is assumed to be in the user's time zone. When the data is saved to the database, it is converted to UTC. When retrieved from the database, the data is converted to the Site's time zone for anonymous users or the User's time zone for logged in users when User-configurable time zones is enabled.
  4. UTC - When entering data into the field, the data entered is assumed to be in UTC time zone. When the data is saved to the database, it is converted to UTC (e.g. no conversion necessary). When retrieved from the database, the data is converted to the Site's time zone for anonymous users or the User's time zone for logged in users when User-configurable time zones is enabled.
  5. No time zone conversion - The date entered is not converted when saved to the database. When retrieved from the database, the data is NOT converted and is displayed exactly as entered. Useful in locales or situations where timezone conversions are not working reliably, for dates with no times, for historical dates where timezones are irrelevant, or anytime conversion is unnecessary or undesirable.

Comments

tryitonce’s picture

I am adding an Events to a site in Drupal 7 with Date, Calender module and a few others.
When I looked at the Content Type (Events) I had created and wanted to fill in some test events I found that the Date filed showed the date in mm-dd-yyyy format - but I need dd-mm-yyyy.
So I went to http://www.example.com/admin/config/regional/date-time and changed the date settings to what I needed in long, medium and short.
But the date field in the Content Type (Events) did not change. I looked up and down www.drupal.org and the search engines to find an answer - but was not able to find what I was looking for.
So, I added some more date fields and they turned out correct.
Ergo, the answer is - once the date field has been set the at-that-time current date format is stored & "locked". Later date format changes will not effect those set earlier.
Solution - delete the field with the unwanted formatting and create a new date field under the correct date format setting.
Sure - if you have added data already to a site or if you realise that you need to make the changes on a life site you'll have a bid of a headache exporting nodes and re-formatting the dates before re-importing them into a new Content Type.
..........

SocialNicheGuru’s picture

I have allowed for a user to enter their timezone info.
When a date is printed, how can I also print the timezone that the date is associated with.

http://SocialNicheGuru.com
Delivering inSITE(TM), we empower you to deliver the right product and the right message to the right NICHE at the right time across all product, marketing, and sales channels.

efruin’s picture

To print out the timezone for the date, simply add the PHP formatting letter to your format string. There are several different versions you can use (see http://php.net/manual/en/function.date.php) for a full list, but the 2 I use most commonly are 'e' and 'T', which would give you outputs like 'America/Chicago' and 'CST' respectively.

For example, if you use the date formatting string 'Y-m-d H:i:s e' you could get a data that looks like '2016-02-29 13:25:00 America/Chicago' and using 'Y-m-d H:i:s T' you could get a data that looks like '2016-02-29 13:25:00 CST'.

Using the 'T' option will also display Daylight Savings Time differences automatically for you, so you would see CST vs. CDT at the right times of the year. The 'e' option only shows the regional name.