Feb 25 2010, 16:19:20 CET
의 날짜 시간 문자열을 유닉스 시대로 변환하려면 어떻게해야합니까?UTC에 대한 시간대 약어의 해석
현재 나의 가장 좋은 방법 time.strptime()
를 사용하는 것은 이것이다 :
def to_unixepoch(s):
# ignore the time zone in strptime
a = s.split()
b = time.strptime(" ".join(a[:-1]) + " UTC", "%b %d %Y, %H:%M:%S %Z")
# this puts the time_tuple(UTC+TZ) to unixepoch(UTC+TZ+LOCALTIME)
c = int(time.mktime(b))
# UTC+TZ
c -= time.timezone
# UTC
c -= {"CET": 3600, "CEST": 2 * 3600}[a[-1]]
return c
내가이를 단순화하기 위해 다른 사람의 사이에서 calendar.timegm()
및 pytz
을 사용하는 것이 가능할 수도 다른 질문에서 볼 수 있지만,이 확실하지 않다면 단축 된 시간대.
최소의 초과 라이브러리가 필요한 솔루션을 원합니다. 가능한 한 표준 라이브러리를 유지하고 싶습니다.
그래, 나는 내 자신의 임의의 시간대 약어 조회도 끝냈다. 전 세계적으로 같은 약어로 여러 시간대가 있기 때문에 일반적인 경우는 해결할 수 있다고 생각하지 않습니다. – bobince
@bobince : ok 나는 뭔가를 놓치지 않는 것을 알고있다. 나는 내 위의 방법에 대해 훨씬 더 안전하게 느끼게하는이 멋진 링크를 발견했다 : http://www.timeanddate.com/library/abbreviations/timezones/ –