I'd like to make a recommendation that I believe would improve the user interface relative to time zones and add more flexibility for developers. Rather than storing the time zone name in the user table, store a "time zone code", such as "am-chi" for America/Chicago, and then create a separate time_zone table which has two columns: tz_code and tz_label.

The reason I make this suggestion is breaking out the field would allow developers to modify the time zone labels. The current labels are not intuitive for the average user. If I asked a bunch of people in Indiana or Ohio if Detroit and Chicago are in the same time zone, I'm sure plenty would say yes.

If you really don't want to add a table, at a minimum I would highly suggest adding "America/US Eastern", "America/US Central", "America/US Central-Indiana", "America/US Eastern-Indiana", etc. to the listing. Here are the standard US time zones, minus adjustments for Arizona and Indiana: http://www.timetemperature.com/tzus/time_zone_codes_us.shtml

Most people can tell you in what time zone they are located, but not everyone can readily tell you Boise is in the same time zone as Albuquerque.

Comments

karens’s picture

Status: Active » Closed (works as designed)

I understand the problems, but the timezones you want to add back have been deprecated and are not supposed to be used. Plus they duplicate the non-deprecated timezones and make the timezone name list even longer and more confusing than it already is. I am in both America/Chicago and US/Central, but US/Central is deprecated, so I don't want it in the database.

I also don't really want to make this large and complex module even larger and more complex than it already is by adding and maintaining a separate table for labels (which would then all need to be translated).

The best solution would be auto-detection of the timezone, but that turns out to be hard to do. There is a patch for core in D7 that attempts to do that, but it's tricky and not completely reliable. In the meantime, the rule is that you select the largest or best-known city in your timezone, which is not *really* that hard to figure out. At least I hope not.