具有 UTC 偏移量和时区的字符串的 UNIX 超时
UNIX time out of a string with UTC offset and time zone
我想根据 Python 中的字符串计算 UNIX 时间。我的字符串在括号中包含 UTC 偏移量和时区,如下所示。
时区 (PDT)
很麻烦,因为我的代码在那之前一直有效。 datestring1
已正确转换,但 datestring2
未正确转换。
import time
import datetime
datestring1 = "Mon, 14 May 2001 16:39:00 -0700"
datestring2 = "Mon, 14 May 2001 16:39:00 -0700 (PDT)"
time.mktime(datetime.datetime.strptime(datestring1, "%a, %d %b %Y %H:%M:%S %z").timetuple())
time.mktime(datetime.datetime.strptime(datestring2, "%a, %d %b %Y %H:%M:%S %z (%Z)").timetuple())
您可以使用 python-dateutil
。看看这里的答案:Python strptime() and timezones?
似乎其他人在使用 %Z
解析时区名称时也遇到了问题。
你的情况是:
import time
import datetime
from dateutil import parser
datestring1 = "Mon, 14 May 2001 16:39:00 -0700"
datestring2 = "Mon, 14 May 2001 16:39:00 -0700 (PDT)"
print(time.mktime(parser.parse(datestring1).timetuple()))
print(time.mktime(parser.parse(datestring2).timetuple()))
我想根据 Python 中的字符串计算 UNIX 时间。我的字符串在括号中包含 UTC 偏移量和时区,如下所示。
时区 (PDT)
很麻烦,因为我的代码在那之前一直有效。 datestring1
已正确转换,但 datestring2
未正确转换。
import time
import datetime
datestring1 = "Mon, 14 May 2001 16:39:00 -0700"
datestring2 = "Mon, 14 May 2001 16:39:00 -0700 (PDT)"
time.mktime(datetime.datetime.strptime(datestring1, "%a, %d %b %Y %H:%M:%S %z").timetuple())
time.mktime(datetime.datetime.strptime(datestring2, "%a, %d %b %Y %H:%M:%S %z (%Z)").timetuple())
您可以使用 python-dateutil
。看看这里的答案:Python strptime() and timezones?
似乎其他人在使用 %Z
解析时区名称时也遇到了问题。
你的情况是:
import time
import datetime
from dateutil import parser
datestring1 = "Mon, 14 May 2001 16:39:00 -0700"
datestring2 = "Mon, 14 May 2001 16:39:00 -0700 (PDT)"
print(time.mktime(parser.parse(datestring1).timetuple()))
print(time.mktime(parser.parse(datestring2).timetuple()))