In fixing the brokenness of the time zone code, I've come across what appears to be an insoluble problem.
We want to allow people to create a DateTime object based on their _local_ time. Internally, we want to have UTC time available, so we need to know the offset for a given local time. This is not a problem. But what about a time like '2003-10-26 01:45:00' in the 'America/Chicago' time zone (central time). The problem with this is that absent more information, we don't know if it's in CDT or CST, because one second after '2003-10-26 01:59:59 CDT', the time is '2003-10-26 01:00:00 CST'. So if a user does this: my $dt = DateTime->new( year => 2003, month => 10, day => 26, hour => 1, minute => 45, time_zone => 'America/Chicago', ); Then how do we properly calculate UTC from that? I'd really hate to require users to give an _additional_ indicator of whether or not this is or is not DST. There's also the reverse problem when moving from CST to CDT, which is that there is no such thing as '2003-04-06 02:15:00', in either CST or CDT. But what if a user tries to create such a thing? Other than that, I think I have most of the time zone nuances worked out, but this has me stumped. Any ideas? Has this been previously solved? -dave /*======================= House Absolute Consulting www.houseabsolute.com =======================*/