【问题标题】:UTCNow offsetting in PythonPython中的UTCNow偏移
【发布时间】:2019-04-07 13:45:12
【问题描述】:

我将如何准确地将datetime.utcnow() 返回的时间戳偏移任意时间,例如一天?

例如:

now = datetime.utcnow().isoformat() + 'Z'

我需要一天以上的偏移量。当我的脚本进入夏令时转换时有一个小问题,但我不需要看过去,但是因为它今天加载它也死了,因为 python 脚本错误在今天的日期工作。

【问题讨论】:

    标签: python python-3.x datetime utc


    【解决方案1】:

    要简单地将某个增量时间添加到 UTC,请添加 timedelta:

    from datetime import datetime, timedelta
    
    now = (datetime.utcnow() + timedelta(days=3)).isoformat() + 'Z'
    
    print(now)
    

    输出:

    2018-11-06T16:55:06.535804Z
    

    有关带时区的 python 的更多信息,请访问Python UTC datetime object's ISO format doesn't include Z (Zulu or Zero offset)

    使用 3.7 datetime.strptime 和 datetime.strftime 甚至将 01:30 识别为 %z - 高达 3.6 的冒号会使其崩溃:)

    【讨论】:

    • 非常感谢。我无法弄清楚如何将两者配对。效果很好。
    • 不要使用 utcnow() 因为它会根据系统的 TZ 产生不同的值。请改用 datetime.datetime.now(tz=timezone.utc)。
    猜你喜欢
    • 2022-01-14
    • 2021-03-11
    • 2018-05-30
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多