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
=======================*/

Reply via email to