Python-特定时区的datetime

2024-09-22 14:34:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在EDT时区最难得到当前时间。

print datetime.time(datetime.now()).strftime("%H%M%S")

datetime.now([tz])有一个可选的tz参数,但它必须是datetime.tzinfo类型。。。我不知道如何为东部时区定义tzinfo对象。。。看起来应该很简单,但是如果不导入一个额外的库,我就无法解决这个问题。


Tags: 对象类型参数datetime定义time时间now
2条回答

^{}类只定义一个接口,您需要自己实现它(参见文档中的示例)或使用实现它的第三方模块,如^{}

编辑:对不起,我错过了您不想导入另一个库的消息。

我不太熟悉EDT时区,但这个例子应该符合您的目的。

import datetime

必须向datetime.datetime.now传递时区信息,该信息应为datetime.tzinfo类型。这里有一个类,它用一些必需的函数实现了这个功能。我在这里没有提供日光节约的细节,因为这是一个例子。

class EST(datetime.tzinfo):
    def utcoffset(self, dt):
      return datetime.timedelta(hours=-5)

    def dst(self, dt):
        return datetime.timedelta(0)

现在你可以用这个来获得时区正确的信息:

print datetime.datetime.now(EST()) 

输出:

2010-11-01 13:44:20.231259-05:00 

相关问题 更多 >