我有datetime.datetime
个对象(datetime.datetime(2014, 4, 11, 18, 0)
),我想使用pytz
为其分配一个时区。我知道您可以将pytz
与datetime.datetime.now()
对象(datetime.datetime.now(pytz.timezone('America/Los_Angeles'))
)一起使用,但如何使用自定义对象进行此操作?
答案 0 :(得分:3)
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)
)在某些时区中不明确。 Use the is_dst
parameter以避免歧义。
astimezone
用于将感知日期时间转换为其他时区。
答案 1 :(得分:1)
或者,您可以直接为os.environ['TZ']
指定时区。
import os
import datetime
print datetime.datetime.now()
os.environ['TZ'] = 'America/Los_Angeles'
print datetime.datetime.now()