An offset of +12 hours is the correct result for the Etc/GMT-12 zone.
TZInfo uses the data from the IANA Time Zone database. This defines the Etc/GMT[+-]n zones in a POSIX-compliant (but unexpected) manner. From the etcetera file in the database:
Be consistent with POSIX TZ settings in the Zone names even though this is the opposite of what many people expect. POSIX has positive signs west of Greenwich, but many people expect positive signs east of Greenwich. For example, TZ='Etc/GMT+4' uses the abbreviation "-04" and corresponds to 4 hours behind UT (i.e. west of Greenwich) even though many people would expect it to mean 4 hours ahead of UT (i.e. east of Greenwich).
OK. I've now got to work out why this zone is coming up in ActiveSupport::TimeZone as GMT+12, adjacent to Auckland, rather than at the top before American Samoa.
EDIT: Ah, I use GMT+12 for Anywhere on Earth. Thanks.
GMT-12 is a useful "Anywhere on Earth" zone.
The text was updated successfully, but these errors were encountered: