繁体   English   中英

Python - 特定时区的日期时间

[英]Python - datetime of a specific timezone

我正在努力争取在EDT时区获得当前时间。

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

datetime.now([tz])有一个可选的tz参数,但它必须是datetime.tzinfo类型的...我还没有弄清楚如何为东部时区定义一个tzinfo对象...好像它应该很简单,但我无法在不导入额外的库的情况下解决这个问题。

我对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 

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

编辑 :对不起,我错过了你不想导入另一个库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM