Convert a datetime.date object into a datetime.datetime object with zeros for any missing time attributes
是否有一个内置函数将datetime.date对象转换为datetime.datetime对象,其中缺少的内容为0?例如,假设
1 | tdate = datetime.date(2012,1,31) |
我想写些像这样的东西
1 2 | tdatetime = datetime.date.datetime() tdatetime = datetime.datetime(tdate) |
我希望输出
1 | datetime.datetime(2012, 1, 31, 0, 0) |
但两者都不起作用。有一个内置函数可以从datetime.datetime转到datetime.date,但我正在寻找反向操作。
一个非常糟糕的解决方案是写:
1 | datetime.datetime(tdate.year(), tdate.month(), tdate.day(), 0, 0) |
我特别想避免这种糟糕的做法。
我已经编写了自己的小函数来完成这个任务,但我认为应该在模块中提供它。为了使用我的函数,它把一些系统范围的导入弄乱了。它是可行的,只是不是很像Python。
我只是想看看是否有人知道是否有一种只使用datetime模块函数的有效方法。
将
1 2 3 4 | >>> import datetime >>> tdate = datetime.date(2012,1,31) >>> datetime.datetime.combine(tdate, datetime.time()) datetime.datetime(2012, 1, 31, 0, 0) |
如果要使用常量,请使用
1 2 | >>> datetime.datetime.combine(tdate, datetime.time.min) datetime.datetime(2012, 1, 31, 0, 0) |