【问题标题】:Generating current time in a chosen time zone在选定的时区生成当前时间
【发布时间】:2014-09-29 20:53:12
【问题描述】:

我正在尝试执行一项简单的任务,即在特定时区生成当前日期/时间组合。我所看到的只是使用 pytz 的建议,即使 datetime 包含 tzinfo 类来处理时区。但是,如果我尝试使用 tzinfo,它就不起作用:

>>> from datetime import datetime, tzinfo
>>> d = datetime.now(tzinfo.tzname("EDT"))
TypeError: descriptor 'tzname' requires a 'datetime.tzinfo' object but received a 'str'

文档说您可以使用“EDT”或“GMT”等时区名称。这有什么问题?

【问题讨论】:

    标签: python datetime timezone


    【解决方案1】:

    tzinfo.tzname 函数的作用与你想象的相反。

    它接受一个日期时间对象,返回一个指示时区的字符串。

    【讨论】:

    • 啊! :( 所以你真的必须为此使用一个额外的模块 pytz?
    • @mart1n,看起来是这样,是的。见this answer
    • tzinfo 是一个抽象类。正如@merlin2011 所提到的,这是一个指南而不是杠杆。
    猜你喜欢
    • 1970-01-01
    • 2011-03-15
    • 2010-09-11
    • 2017-04-30
    • 1970-01-01
    • 2011-05-08
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多