2

我正在尝试解析 python 中的一些时间戳。它们看起来像这样:

1334423456 +0200

其中显然第一部分是 UNIX 时间戳,第二部分是时区偏移量,格式为“+HHMM”/“-HHMM”。我试图把它变成一个 python.datetime 对象。

我可以将第一部分与 datetime.fromtimestamp 一起使用:

datetime.fromtimestamp(s.split()[0])

但我不知道如何将第二部分(时区偏移)应用于它。任何帮助,将不胜感激。

4

1 回答 1

5

最简单的方法是使用iso8601模块;它包括一个(内部)时区解析器,几乎可以处理您的格式;我们需要插入一个:以使其匹配 ISO 8601 时区:

import iso8601
stamp, tz = s.split()
timezone = iso8601.iso8601.parse_timezone(tz[:3] + ':' + tz[3:])
dt = datetime.fromtimestamp(int(stamp)).astimezone(timezone)
于 2012-09-22T11:32:47.837 回答