本当にここで立ち往生。さまざまな回答を見てきましたが、それらのゾーンは機能しているようです(Python2.7)
fileGenTime
時刻/日付を表すstring があります。それを日付/時刻に解析してから、UTC に変換する必要があります。「pytz」を使用してから「dateutil」を使用しようとしましたが、なぜ機能しないのかわかりません....これが私の試みです...
from datetime import datetime
from dateutil import tz
fileGenTime = 'Thu Jan 2 19:23:34 EST 2014'
fileGenTime = fileGenTime.replace(' ',' ') #double spaces...
wday, month, day, time, zone, year = fileGenTime.split(' ')
hour, minute, second = time.split(':')
localGenTime = datetime.strptime(day +' '+ month +' '+ year
+' '+ hour +' '+ minute +' '+ second, '%d %b %Y %H %M %S')
私は最初にzone
、この最後の行に を含め%Z
、形式 arg で使用しようとしました...今、ローカル時間をタイムゾーンのある時間に変換し、それを使用astimezone
して UTC に変換しようとしています。
localZone = tz.gettz(zone)
localGenTime = localGenTime.replace(tzinfo = localZone)
normalisedTimezone = tz.gettz('UTC')
normalisedGenTime = localGenTime.astimezone(normalisedTimezone)
私が得ているエラーメッセージは....「ValueError:月は1..12でなければなりません」....え?
髪を引っ張ってる!どんな助けでも大歓迎です!
完全なトレースバックはこちら....
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\site-packages\python_dateutil-1.5-py2.7.egg\dateutil\tzwin.py", line 32, in utcoffset
if self._isdst(dt):
File "C:\Python27\lib\site-packages\python_dateutil-1.5-py2.7.egg\dateutil\tzwin.py", line 67, in _isdst
self._dstweeknumber)
File "C:\Python27\lib\site-packages\python_dateutil-1.5-py2.7.egg\dateutil\tzwin.py", line 166, in picknthweekday
first = datetime.datetime(year, month, 1, hour, minute)
ValueError: month must be in 1..12