programing tip

파이썬-calendar.timegm () 대 time.mktime ()

itbloger 2020. 12. 24. 23:24
반응형

파이썬-calendar.timegm () 대 time.mktime ()


나는 이것에 대해 내 머리를 잡는 데 어려움을 겪는 것 같습니다.

calendar.timegm()의 차이점은 무엇입니까 time.mktime()?

datetime.datetimetzinfo가 첨부되지 않은 a 있다고 가정 하면 두 가지가 동일한 출력을 제공해야하지 않습니까? 둘 다 에포크와 매개 변수로 전달 된 날짜 사이의 초 수를 제공하지 않습니까? 그리고 지나간 날짜에는 tzinfo가 없기 때문에 초 수는 같지 않습니까?

>>> import calendar
>>> import time
>>> import datetime
>>> d = datetime.datetime(2010, 10, 10)
>>> calendar.timegm(d.timetuple())
1286668800
>>> time.mktime(d.timetuple())
1286640000.0
>>> 

time.mktime()전달 된 튜플이 현지 시간 calendar.timegm()이라고 가정하고 GMT / UTC로 가정합니다. 해석에 따라 튜플은 다른 시간을 나타내므로 함수는 다른 값을 반환합니다 (기원이 UTC 기반이기 때문에 초).

값의 차이는 현지 시간대의 시간대 오프셋과 같아야합니다.


calendar.timegmUTC 타임 스탬프에서 time.mktime변환하고 UTC가 아닌 현지 시간 에서 변환 합니다.

결과의 8 시간 차이는 사용자 위치의 시간대와 정확히 일치합니다.

참조 URL : https://stackoverflow.com/questions/2956886/python-calendar-timegm-vs-time-mktime

반응형