【问题标题】:What is the format of that datetime?该日期时间的格式是什么?
【发布时间】:2021-11-30 22:45:08
【问题描述】:

我有那个日期时间:2021-10-12T16:00:00.000+02:00 所以我试了一下:

import datetime
a = datetime.datetime.strptime("2021-10-12T16:00:00.000+02:00", '%Y-%m-%dT%H:%M:%SZ')

但它不起作用,我明白了

ValueError: time data '2021-10-12T16:00:00.000+02:00' does not match format '%Y-%m-%dT%H:%M:%SZ'

你能帮帮我吗?

非常感谢!

【问题讨论】:

标签: python python-3.x datetime iso8601


【解决方案1】:
import datetime
a = datetime.datetime.strptime("2021-10-12T16:00:00.000+02:00", '%Y-%m-%dT%H:%M:%S.%f%z')

你格式错误。

  1. 你也有毫秒,所以有一个%f,由.分隔
  2. 时区格式为Z;它必须是%z

【讨论】:

    【解决方案2】:
    from datetime import datetime
    today=datetime.now() /// 2021-06-25 07:58:56.550604
    dt_string = now.strftime("%d/%m/%Y %H:%M:%S") /// 25/06/2021 07:58:56
    

    【讨论】:

    • 这应该如何回答这个问题?它甚至不考虑有问题的格式
    【解决方案3】:

    这是一个 ISO 日期。解析它的最简单方法是调用fromisoformat

    >>> datetime.datetime.fromisoformat("2021-10-12T16:00:00.000+02:00")       
    datetime.datetime(2021, 10, 12, 16, 0, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      相关资源
      最近更新 更多