On Tue, 14 Jan 2003, Martijn van Beers wrote: > Actually, I recently discovered that Date::ICal _does_ support this. if > you do $date->ical (localtime => 1) it prints the time adjusted for > the local timezone. > > Floating time *still* has a timezone. It is just variable. But, since > your computer can be in only one spot, it is never ambiguous which > timezone it is in. The only time you need this floating timezone is > when storing your date (to disk, in a VEVENT, whatever). > > So Date::ICal doesn't really do anything wrong, it just could be a bit > more friendly about it. Like remembering if this was entered as a > floating time.
How would you handle leap seconds with floating time? Particularly how do you handle leap seconds in a case like this: my $dt = DateTime->new( year => 1997, month => 6, day => 30, hour => 23, minute => 59, second => 59, ( timezone => $utc_zone ) ... or ... ( timezone => $other_zone ) ... or ... ( floating => 1 ) ... or ... ); $dt += DateTime::Duration->new( seconds => 2 ); What is $dt now? If it were UTC, the time would be "1997-07-01 00:00:00", right? If it were some other time zone the time would be "1997-07-01 00:00:01". But if its floating, how do you decide? -dave /*======================= House Absolute Consulting www.houseabsolute.com =======================*/