【发布时间】:2010-12-28 14:24:40
【问题描述】:
是否有在 Python 中将date 转换为datetime 的内置方法,例如在给定日期的午夜获取datetime?相反的转换很容易:datetime 有一个.date() 方法。
我真的需要手动调用datetime(d.year, d.month, d.day)吗?
【问题讨论】:
-
不是一个愚蠢的问题;日期对象应该有一个
.datetime()方法;愚蠢的是他们没有这样的方法。 -
@Zags: 或
datetime.from_date()构造函数。 -
不,日期不应该是日期时间的子集(它甚至在名称中)。日期时间的日期是明确的。但反过来,一个日期是 24 小时的一个块(通常),所以它可以有很多日期时间。什么日期时间会来自一个日期?你不能总是这样 00:00 因为如果那个时间不存在怎么办,例如夏令时跳过它。没那么容易#
-
@Dalore 夏令时是在凌晨 1 点到凌晨 2 点之间,以避免出现您所描述的问题。
-
@zags 这一切都取决于时区源和目的地,您可以在凌晨 1 点更改夏令时,但这将对应于其他时区的午夜更改。如果你正在编程你使用哪个时区?你很可能最终试图获得一个不存在的时间。我的观点仍然存在,为日期添加时间并不是直截了当的。然后你还必须考虑你的新日期时间是否也知道时区或天真。