나는 ut8 타임 스탬프를 IS8601 형식으로 가지고 있으며 유닉스 시간으로 변환하려하고있다. 이것은 내 콘솔 세션입니다.Unix 시간으로 변환 할 때 시간대 (UTC)를 지정하는 방법은 무엇입니까? (파이썬)
In [9]: mydate
Out[9]: '2009-07-17T01:21:00.000Z'
In [10]: parseddate = iso8601.parse_date(mydate)
In [14]: ti = time.mktime(parseddate.timetuple())
In [25]: datetime.datetime.utcfromtimestamp(ti)
Out[25]: datetime.datetime(2009, 7, 17, 7, 21)
In [26]: datetime.datetime.fromtimestamp(ti)
Out[26]: datetime.datetime(2009, 7, 17, 2, 21)
In [27]: ti
Out[27]: 1247815260.0
In [28]: parseddate
Out[28]: datetime.datetime(2009, 7, 17, 1, 21, tzinfo=<iso8601.iso8601.Utc object at 0x01D74C70>)
알다시피 정확한 시간을 되돌릴 수 없습니다. 내가 fromtimestamp()를 사용하면 시간이 1만큼 앞당겨지며 utcfromtimestamp()를 사용하면 6 시간이 앞당겨집니다.
어떤 조언이 필요합니까?
감사합니다.
'timegm()'를 반환 정수. 그것은 두 번째 부분을 무시합니다. – jfs