Python dt.replace(tzinfo =)不会更改时区

时间:2015-03-19 04:49:17

标签: python python-2.7 datetime

为什么不替换在收到有效时区时修改tzinfo对象 对象

我试图将本地时间添加到没有指定时间戳的时间戳中 时区。

if raw_datetime.tzinfo is None:
    print(raw_datetime)
    print(raw_datetime.tzinfo)
    raw_datetime.replace(tzinfo=dateutil.tz.tzlocal())
    print(raw_datetime.tzinfo, dateutil.tz.tzutc())

根据文档,我应该能够更改tzinfo属性 使用有效的日期时间

https://docs.python.org/2/library/datetime.html#datetime.date.replace

但我显然做错了,因为tzinfo对象仍然存在 None

2000-04-25 12:57:00
None
None tzutc()

1 个答案:

答案 0 :(得分:2)

只是一个简单的疏忽,替换不会修改调用对象,而是返回一个替换了值的新对象。

datetime.replace:

  

返回 具有相同值的日期,但通过指定的任何关键字参数给定新值的参数除外。例如,如果d == date(2002,12,31),那么d.replace(day = 26)== date(2002,12,26)。