首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python dt.replace(tzinfo=)不会更改时区

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

Stack Overflow用户
提问于 2015-03-19 12:49:17
回答 1查看 10K关注 0票数 4

当tzinfo对象接收到有效的时区对象时,为什么不替换modify对象呢?

我正在尝试将本地时间添加到未指定时区的时间戳中。

代码语言:javascript
复制
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

代码语言:javascript
复制
2000-04-25 12:57:00
None
None tzutc()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-19 13:07:39

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

datetime.replace:

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

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29137408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档