如何将时区添加到datetime.datetime对象中



我有一个datetime.datetime对象(datetime.datetime(2014, 4, 11, 18, 0)),我想使用pytz为它分配一个时区。我知道您可以将pytzdatetime.datetime.now()对象(datetime.datetime.now(pytz.timezone('America/Los_Angeles')))一起使用,但如何使用自定义对象呢?

使用localize方法:

import pytz
import datetime
la = pytz.timezone('America/Los_Angeles')
now = la.localize(datetime.datetime.now())
print(repr(now))

产生

datetime.datetime(2014, 4, 11, 21, 36, 2, 981916, tzinfo=<DstTzInfo 'America/Los_Angeles' PDT-1 day, 17:00:00 DST>)

localize用于解释相对于时区的不知道时区的日期时间。结果是一个可识别时区的日期时间。请注意,一些不知道时区的日期时间,如datetime(2002, 10, 27, 1, 30, 00),在某些时区中是不明确的。使用is_dst参数来避免歧义。

astimezone用于将感知日期时间转换为其他时区。

或者,您可以直接将时区分配给os.environ['TZ']

import os
import datetime
print datetime.datetime.now()
os.environ['TZ'] = 'America/Los_Angeles'
print datetime.datetime.now()

相关内容

  • 没有找到相关文章

最新更新