首页 > 解决方案 > 如何设置正确的时区以在 Python 中获取等格式日期时间字符串?

问题描述

我需要将当前日期时间字符串以 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 的干净方式是什么?

谢谢

标签: pythondatetime

解决方案


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'

推荐阅读