Почему Perl DateTime :: Astro :: Sunrise дает мне неожиданные значения? - PullRequest
0 голосов
/ 16 марта 2010

Используя пример кода, включенного в справочную страницу для DateTime :: Astro :: Sunrise , я возвращаюсь ~ 14:00 для восхода солнца и ~ 2:00 для заката.

Время и часовой пояс моей машины установлены правильно (AFAIK).

Я что-то не так читаю?2 часа ночи и 2 часа ночи просто ужасно неправильны.

use DateTime;
use DateTime::Astro::Sunrise;

my $dt = DateTime->new( year   => 2010,
                                month  => 3,
                                day    => 15,
                         );
my $sunrise = DateTime::Astro::Sunrise ->new('-117','33',undef,1);

my ($tmp_rise, $tmp_set) = $sunrise->sunrise($dt);

printf "%s\n", $tmp_rise;
printf "%s\n", $tmp_set;

Ответы [ 2 ]

2 голосов
/ 16 марта 2010

Возможно, у вас неправильный знак на вашей долготе, поэтому вы получаете время восхода / захода солнца для Шанхая (сейчас около 6 утра и 6 вечера по шанхайскому времени), но вы получаете время по калифорнийскому времени что солнце поднимается и садится в Шанхае, поскольку это ваш местный часовой пояс. Разница составляет 16 часов, поэтому вы получите 2 вечера и 2 часа ночи.

1 голос
/ 16 марта 2010

Извините, без примера кода, я не могу сказать, что вы делаете неправильно.

Альтернатива, Astro :: Sunrise работала хорошо для меня и, кажется, немного более зрелая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...