1

我正在尝试将此 20130607T064835-0700 转换为 unix 时间表示。不幸的是,由于某种原因我不能这样做。我设法创建了一些代码,但它不起作用。

time.mktime(datetime.datetime.strptime('20130607T064835-0700', '%Y%m%dT%H%M%S%z').strftime("%s"))

看起来 Python 中 %z 的日期时间表示效果不佳。

>>> print time.strftime('%z')
Central European Daylight Time
>>> print time.strftime('%Z')
Central European Daylight Time

我认为 %z 应该像文档中所说的那样返回偏移量:

%z  UTC offset in the form +HHMM or -HHMM (empty string if the the object is naive).

我究竟做错了什么?

4

1 回答 1

0

要在 windows 下获取时间戳的 unix 时间,您可以执行以下操作(在 python 2.7 上测试):

from dateutil.parser import parse
from datetime import datetime
import pytz

t = parse('20130607T064835-0700')
e = datetime(1970, 1, 1, 0, 0, tzinfo=pytz.utc)
d = t - e

unixtime = d.total_seconds()
于 2013-07-02T13:26:07.043 回答