I'm doing some tests with the revised version of DateTime::Set: [EMAIL PROTECTED] wrote: > > use DateTime::Event::Cron; > > $cron = DateTime::Event::Cron->from_cron(cron => ' 15 18 * * 1-5'); > $new_cron = $cron->clone()->set_time_zone('Europe/Berlin'); > > $date = DateTime->new( year => 2004, month => 6, day => 30, > hour => 17, minute=> 10, > time_zone => 'Europe/London'); > > print $date->strftime("%a %F %T %Z\n"); # Wed 2004-06-30 17:10:00 GMT/BST
ok > $date = $date->clone()->set_time_zone('Europe/London'); > > print $date->strftime("%a %F %T %Z\n"); # Wed 2004-06-30 17:10:00 GMT/BST ok > $next = $new_cron->next($date); > print $next->strftime("%a %F %T %Z\n"); # was: Wed 2004-06-30 19:15:00 CEST I got Wed 2004-06-30 17:15:00 GMT/BST, it looks correct now. This is the local London time, when cron ticks 18:15 in Berlin. > # Let's repeat the same operation as before > > $date = DateTime->new( year => 2004, month => 6, day => 30, > hour => 17, minute=> 10, > time_zone => 'Europe/London'); > > print $date->strftime("%a %F %T %Z\n"); # Wed 2004-06-30 17:10:00 GMT/BST ok > $date = $date->clone()->set_time_zone('Europe/Berlin'); > print $date->strftime("%a %F %T %Z\n"); # Wed 2004-06-30 18:10:00 CEST ok > $next = $new_cron->next($date); > print $next->strftime("%a %F %T %Z\n"); # Wed 2004-06-30 18:15:00 CEST ok. This is the local Berlin time, when cron ticks 18:15 in Berlin. It is the same time as before, but in a different time zone. - Flavio S. Glock