This is what it looks like (tested!):
---
#!/usr/local/bin/perl
use DateTime;
use DateTime::Set 0.1202;
use DateTime::Event::Sunrise;
my $dt = DateTime->new(
year => 2003,
month => 9,
day => 24,
time_zone => 'America/New_York',
);
my $sunrise = DateTime::Event::Sunrise->sunrise (
longitude =>'-73.59',
latitude =>'40.38',
altitude => '-0.833',
iteration => '1'
)->set_time_zone( 'America/New_York' );
my $sunset = DateTime::Event::Sunrise->sunset (
longitude =>'-73.59',
latitude =>'40.38',
altitude => '-0.833',
iteration => '1'
)->set_time_zone( 'America/New_York' );
print $dt->datetime, " ", $dt->time_zone_long_name, "\n";
my $rise = $sunrise->next($dt);
print $rise->datetime, " ", $rise->time_zone_long_name, "\n";
my $set = $sunset->next($dt);
print $set->datetime, " ", $set->time_zone_long_name, "\n";
---
2003-09-24T00:00:00 America/New_York
2003-09-24T08:10:00 America/New_York
2003-09-24T18:01:00 America/New_York
---
- Flavio S. Glock
Dave Rolsky wrote:
>
> On Wed, 24 Sep 2003, Flavio S. Glock wrote:
>
> > Steven J. Weinberger wrote:
> > >
> > > I'm trying to use DateTime::Event::Sunset in my DateTime::Calendar::Hebrew
> > > module, but I'm having a problem. Below is my test code. The
> > > results from the code are:
> > >
> > > 2003-09-24T10:42:00
> > > 2003-09-24T22:48:00
> > >
> > > Sunrise wasn't at 10:42 and the sun will set well before 22:48. Is there
> > > something I'm doing wrong?
> >
> > I think these results are in UTC time.
>
> Hmm, this should probably be changed so that the returned object has the
> same time_zone as was passed to next(). I think this change would go in
> DT::E::Sunrise.