Gene - 2013-05-23

Hello,

I'm having an issue with US/Central timezone for dates in mid 1930s.

Example:
October 16, 1936 in Iowa: CST was used, there was no DST.
In Joda I'm getting -5:00 UTC offset for that date instead of the standard -6:00 UTC.
The time zone is US/Central (or America/Chicago), daylight saving is not used - DateTimeZone isStandardOffset() returns true for that date which is correct.

US/Central time zone should have -6:00 UTC offset for standard time and -5:00 UTC for DST, instead I'm getting -5:00 for both (-18000000).

What am I missing? Could this be a bug in joda or an issue with the timezone database? CST for the same location returns correct offset for 2013 and I don't see any special rules defined for standard CST in 1930s in the northamerica timezone db definition.

String timeZone = "US/Central";
DateTimeZone zone = DateTimeZone.forID(timeZone);
long offset = zone.getOffset(date);

// where date=-1047960000000

// +zone.isStandardOffset(date) returns true
// offset=-18000000 which is -5:00 hours.

Joda version 2.2.
DateTimeZone data updated to version 2012j.
JDK 1.7

thanks,
- Gene

 

Last edit: Gene 2013-05-23