2010-03-15 6 views
0

DateTime::Astro::Sunrise에 대한 맨 페이지에 포함 된 예제 코드를 사용하면 해가 뜨면 14 시까 지, 일몰 때는 ~ 2 시가됩니다.Perl의 DateTime :: Astro :: Sunrise가 나에게 예기치 않은 가치를주는 이유는 무엇입니까?

내 컴퓨터의 시간과 표준 시간대가 올바르게 설정되어 있습니다 (AFAIK).

내가 뭔가 잘못 읽고 있니? 2am와 2pm는 단지 매우 잔인하게 틀리다.

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

몇 가지 세부 정보가 필요합니다. 위도, 경도, 날짜 및 시간대가 ... ... 무엇입니까? –

+0

위도/경도/TZ = 로스 앤젤레스 – BozoJoe

+1

잘못된 것이 있습니까? 아마도. 우리가하는 일을 보지 않고 어떻게 말할 수 있습니까? :) – Ether

답변

1

죄송합니다. 샘플 코드가 없으므로 잘못된 것을 말씀 드릴 수 없습니다.

대안 : Astro::Sunrise이 나를 위해 잘 작동하고 있으며 약간 더 성숙한 것으로 보입니다.

+1

좋은 .... 두 모듈의 동일한 저자. Astro :: Sunrise로 전환 한 후 완전한 성공 – BozoJoe

2

추측에 의하면, 당신은 경도에 잘못된 표시가 있기 때문에 상해에 대한 해돋이/일몰 시간을 얻고 있습니다 (현재 상하이 시간은 오전 6시와 오후 6시에 있습니다). 캘리포니아 시간이 인 시간은입니다. 해가 상승하고 상해를 설정하기 때문에 현지 시간대입니다. 차이는 16 시간이므로 오후 2시와 2 시가됩니다.

관련 문제