【问题标题】:what is this time format ? 20151104101700-0800这个时间格式是什么? 20151104101700-0800
【发布时间】:2015-11-09 07:09:51
【问题描述】:

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

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

...

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

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

【问题讨论】:

  • 我投票结束这个问题,因为它不是关于编程的。
  • 在我看来,它是四位数的年份、两位数的月份、两位数的日期,然后是小时(24 小时制)、分钟、秒。 -0800 可能是时区规范(意思是 UTC-8)。但是这个问题是题外话,因为它根本不是关于编程的。
  • @BrenBarn 关于如何解析日期字符串。对我来说似乎有点程序化。
  • @tdelaney:这个问题没有问任何关于如何解析它的问题。它只是询问它是什么。
  • @BrenBarn 问题开始于“我正在解析一个 xml 文件......”。我认为这意味着 OP 想要解析 xml 文件中的日期。

标签: python ios xml time format


【解决方案1】:

20151002151700-0800 将是 CCYYMMDDHHMMSS-TZ 的格式。

所以,您问题的151700 部分是时间,以小时分秒为单位。 之后是 + 或 -,以及您与 UTC 偏移的小时数和分钟数,因此 -0800 将是 UTC-8 时区。

【讨论】:

    【解决方案2】:

    它看起来不像标准时间格式(例如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-8it may be ambiguous。如果不知道America/Los_Angeles等时区名称;只是数字偏移量 (-0800) 不那么含糊。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-20
      • 2017-04-28
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 2011-10-16
      相关资源
      最近更新 更多