繁体   English   中英

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

[英]How would I add the timezone to a datetime.datetime object?

我有一个datetime.datetime对象( datetime.datetime(2014, 4, 11, 18, 0) pytz 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()

暂无
暂无

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

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