【问题标题】:How to set the correct timezone to get a isoformat datetime string in Python?如何设置正确的时区以在 Python 中获取等格式日期时间字符串?
【发布时间】:2019-03-04 03:27:46
【问题描述】:

我需要将当前日期时间字符串以 isoformat 分配给一个变量,如下所示:

  2018-09-27T16:19:16+02:00

我正在做的是:

  import datetime
  ....

  print(datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc, microsecond=0).isoformat())

但这将使用 utc tz 打印字符串:

2018-09-28T07:05:35+00:00

我还不清楚我应该更改 tzinfo 参数以将希望的 tz 设置为 UTC+02:00 的干净方式是什么?

谢谢

【问题讨论】:

    标签: python datetime


    【解决方案1】:

    utcnow() 已经为您提供+00:00 的时间,如果您想接收特定时区的时间,您应该将时区作为参数提供给now([tz])

    https://docs.python.org/3/library/datetime.html

    >>> import datetime as dt
    >>> dt.datetime.now(tz = dt.timezone(offset = dt.timedelta(hours = 2))).replace(microsecond = 0).isoformat()
    '2018-09-28T09:20:19+02:00'
    

    【讨论】:

    • 谢谢,我错过了部分:tz=dt.timezone(offset=dt.timedelta(hours=2))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2021-06-23
    • 2016-05-13
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多