是否有内置方法将 date
转换为 datetime
在 Python 中,例如获取 datetime
给定日期的午夜?相反的转换很容易: datetime
有一个 .date()
方法。
我真的必须手动调用 datetime(d.year, d.month, d.day)
吗?
原文由 EMP 发布,翻译遵循 CC BY-SA 4.0 许可协议
有几种方法,尽管我确实相信您提到(并且不喜欢)的一种是最易读的一种。
>>> import datetime
>>> t=datetime.date.today()
>>> datetime.datetime.fromordinal(t.toordinal())
datetime.datetime(2009, 12, 20, 0, 0)
>>> datetime.datetime(t.year, t.month, t.day)
datetime.datetime(2009, 12, 20, 0, 0)
>>> datetime.datetime(*t.timetuple()[:-4])
datetime.datetime(2009, 12, 20, 0, 0)
等等——但基本上它们都依赖于从 date
对象中适当地提取信息,并将其返回到 datetime
的合适的 ctor 或类函数中。
原文由 Alex Martelli 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
您可以使用
datetime.combine(date, time)
;目前,您创建了一个初始化为午夜的datetime.time
对象。