5
그래서 UTC 시간에 datetime 개체가 있고 UTC 타임 스탬프로 변환하려고합니다. 문제는 time.mktime이 localtime을 조정한다는 것입니다. 여기 현지 시간으로 조정되지 않는 유닉스 타임 스탬프는 어떻게 만듭니 까?
import os
import pytz
import time
import datetime
epoch = pytz.utc.localize(datetime.datetime(1970, 1, 1))
print time.mktime(epoch.timetuple())
os.environ['TZ'] = 'UTC+0'
time.tzset()
print time.mktime(epoch.timetuple())
일부 출력 : 그래서 여기
몇 가지 코드 시스템이 UTC 시간에 아무 문제가없는 경우 그러니 확실히
Python 2.6.4 (r264:75706, Dec 25 2009, 08:52:16)
[GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import pytz
>>> import time
>>> import datetime
>>>
>>> epoch = pytz.utc.localize(datetime.datetime(1970, 1, 1))
>>> print time.mktime(epoch.timetuple())
25200.0
>>>
>>> os.environ['TZ'] = 'UTC+0'
>>> time.tzset()
>>> print time.mktime(epoch.timetuple())
0.0
하지만, 그렇지 않은 경우는 문제가 . 환경 변수를 설정하고 time.tzset을 호출하면 작동하지만 안전합니까? 전체 시스템에 맞게 조정하고 싶지는 않습니다.
다른 방법이 있습니까? 또는 time.tzset을이 방법으로 호출하는 것이 안전할까요?