[EMAIL PROTECTED] schreef:

>> Probably because the start point of your POSIX calculations are at
>> 00:00, and those of your DateTime-calculations are at 02:00?
>
> That still does not make sense, 00:00 + 26 hrs is same as 00:00 + 27
> hours ? because thats what POSIX::mktime tells me.


Your DateTime-calls have "day => 4" where you need "day => 5".


The point in time 2008-10-05T02:00:00 doesn't exist there, so you can
not set up an object with it.

$ perl -MDateTime -le '
  print DateTime->new(
    year => 2008, month => 10, day => 5,
    hour => 2,
    time_zone => "Australia/Melbourne",
  )
'
Invalid local time for date in time zone: Australia/Melbourne



I got used to set up your objects at noon, and subtract 12 hours to get
to midnight, etc.

$ perl -MDateTime -le '
  print DateTime->new(
    year => 2008, month => 10, day => 5,
    hour => 12,
    time_zone => "Australia/Melbourne",
  )->add( hours => -12+2+24, )
'
2008-10-06T02:00:00


$ perl -MDateTime -le '
  print DateTime->new(
    year => 2008, month => 10, day => 5,
    hour => 12,
    time_zone => "Australia/Melbourne",
  )->add( hours => -12+2+25, )
'
2008-10-06T03:00:00


$ perl -MDateTime -le '
  print DateTime->new(
    year => 2008, month => 10, day => 5,
    hour => 12,
    time_zone => "Australia/Melbourne",
  )->add( hours => -12+2+48, )
'
2008-10-07T02:00:00


Don't think you can use 00:00 as a safe point in time to set up an
object.
(There are timezones that switch DST at midnight, so some midnights
don't exist.)

-- 
Affijn, Ruud

"Gewoon is een tijger."

Reply via email to