2017-11-22 12 views
0

나는 EST 조건에서 많은 시간 계산을해야한다. 두 프린트 명령문 중 두 번째가 datetime.now()이 세계 어느 곳에서나 적절한 TZ 인식 EST 시간을 리턴 할 수있는 적절한 방법인가? 내 로컬 시간이 EST이기 때문에 둘 다 같은 값을 반환하는 이유가 있다고 가정합니다. 내 논리는 TZ가 UTC로 인식되도록 한 다음 EST로 변환하여 "로컬"시간에 의존하지 않을 것입니다.EST로 변환하기 전에 datetime.now() 시간대를 인식해야합니까?

from datetime import datetime 
from pytz import timezone 

EST = timezone('America/New_York') 

print(datetime.now(EST)) 
print(datetime.now(timezone('UTC')).astimezone(EST)) 

을 제공합니다

2017-11-22 16:58:55.236498-05:00 
2017-11-22 16:58:55.237080-05:00 

답변

1

이 당신이 어디에 있든 같은 시간을 인쇄합니다. 나는 EST에 없으며 그들은 모두 귀하의 현지 시간을 알려줍니다. 현지 시간은 기본 인수에서옵니다.

print(datetime.now()) 

첫 번째 줄은 시간을 EST로 지정합니다. 두 번째는 UTC를 지정하지만 EST로 변환합니다.

기능이 정상적으로 작동합니까?

+0

예 이렇게하면 해결됩니다. 내가 왜 pytz가 기본 args를 무시하지 않을 것이라고 생각하는지 모르겠습니다. – metersk