Hi Ron, Here is a 'eating our own dog food' patch against Astro::Sunrise 0.8. :)
Cheers, -J -- diff -ur Astro-Sunrise-0.8/Makefile.PL Astro-Sunrise-0.8.new/Makefile.PL --- Astro-Sunrise-0.8/Makefile.PL 2003-02-27 05:05:20.000000000 -1000 +++ Astro-Sunrise-0.8.new/Makefile.PL 2003-08-06 19:02:35.000000000 -1000 @@ -4,5 +4,5 @@ WriteMakefile( 'NAME' => 'Astro::Sunrise', 'VERSION_FROM' => 'Sunrise.pm', # finds $VERSION - 'PREREQ_PM' =>{ 'Time::Piece' => 1.08, }, + 'PREREQ_PM' =>{ 'DateTime' => 0.16, }, ); diff -ur Astro-Sunrise-0.8/Sunrise.pm Astro-Sunrise-0.8.new/Sunrise.pm --- Astro-Sunrise-0.8/Sunrise.pm 2003-02-27 05:10:32.000000000 -1000 +++ Astro-Sunrise-0.8.new/Sunrise.pm 2003-08-06 19:10:29.000000000 -1000 @@ -82,7 +82,7 @@ use POSIX; use Math::Trig; use Carp; -use Time::Piece; +use DateTime; #use Time::Seconds; use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK $RADEG $DEGRAD ); @@ -579,20 +579,16 @@ my $alt = shift || -0.833; my $offset = int( shift || 0 ); - my $today = localtime; - # - # Not sure why appending a 'D' to the offset didn't work. So converted - # the days into seconds... - # - $today = $today + $offset * 86400; + my $today = DateTime->today->set_time_zone( 'local' ); + $today->add( days => $offset ); my( $sun_rise, undef ) = sunrise( $today->year, $today->mon, $today->mday, $longitude, $latitude, - $today->tzoffset->hours, + ( $today->offset / 3600 ), # - # DST is always 0 because Time::Object - # currently (v 1.00) adds one to the - # tzoffset during DST hours + # DST is always 0 because DateTime + # currently (v 0.16) adds one to the + # offset during DST hours 0, $alt ); return $sun_rise; @@ -635,20 +631,16 @@ my $alt = shift || -0.833; my $offset = int( shift || 0 ); - my $today = localtime; - # - # Not sure why appending a 'D' to the offset didn't work. So converted - # the days into seconds... - # - $today = $today + $offset * 86400; + my $today = DateTime->today->set_time_zone( 'local' ); + $today->add( days => $offset ); my( undef, $sun_set ) = sunrise( $today->year, $today->mon, $today->mday, $longitude, $latitude, - $today->tzoffset->hours, + ( $today->offset / 3600 ), # - # DST is always 0 because Time::Object - # currently (v 1.00) adds one to the - # tzoffset during DST hours + # DST is always 0 because DateTime + # currently (v 0.16) adds one to the + # offset during DST hours 0, $alt ); return $sun_set;