这个时间格式是什么? 20151104101700-0800

时间:2015-11-09 07:09:52

标签: python ios xml time format

我正在解析从iOS Health App导出的xml文件。开始时间的记录具有以下格式:

@startDate:20151104101700-0800
@endDate:20151104111700-0800

...

@startDate:20151002151700-0800
@endDate:20151003151700-0800

我只是想知道该部分是什么' 15170-0800'代表。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:7)

20151002151700-0800的格式为CCYYMMDDHHMMSS-TZ

因此,问题的151700部分是时间,以小时分秒为单位。 之后的内容是+或 - ,以及您从UTC偏移了多少小时和分钟,因此-0800将是UTC-8时区。

答案 1 :(得分:1)

它看起来不像标准时间格式(例如rfc 3339)或Date Formatter的默认时间格式,但无论如何都很容易解析。

时间格式为%Y%m%d%H%M%S%z

>>> from datetime import datetime
>>> datetime.strptime("20151104101700-0800", "%Y%m%d%H%M%S%z")
datetime.datetime(2015, 11, 4, 10, 17, tzinfo=datetime.timezone(datetime.timedelta(-1, 57600)))

注意:它与@Christian Witts's answer不同(-是数字utc偏移的一部分)。

不要在编程上下文中使用标签UTC-8; it may be ambiguous。如果您不知道时区名称,例如America/Los_Angeles;只是数字偏移(-0800)不那么模糊。