首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么日期+时间增量变成了日期,而不是日期时间?

为什么日期+时间增量变成了日期,而不是日期时间?
EN

Stack Overflow用户
提问于 2016-05-11 22:38:58
回答 3查看 4.8K关注 0票数 19

在Python语言中,在混合类型的数字运算中,较窄的类型是widened to that of the other,例如int + float float

In [57]: 3 + 0.1
Out[57]: 3.1

但对于datetime.date,我们有datetime.date + datetime.timedelta datetime.date,而不是datetime.datetime

In [58]: datetime.date(2013, 1, 1) + datetime.timedelta(seconds=42)
Out[58]: datetime.date(2013, 1, 1)

为什么扩展推理适用于数字,而不适用于date/datetime/timedelta

(背景:我正在编写一个文件格式的读取例程,其中一个字段是年份,一个字段是一年中的某一天,一个字段是从午夜开始的毫秒数。当然,简单而明确的解决方案是datetime.datetime(2013, 1, 1, 0, 0, 0) + datetime.timedelta(seconds=42),但同样可以推断应该将3 + 0.1重写为3.0 + 0.1)。

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

https://stackoverflow.com/questions/37165952

复制
相关文章

相似问题

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