Python:将日期转换为日期时间的最有效方法

13

在Python中,我将一个date对象转换为datetime对象的步骤如下:

  1. 先将date对象转换成string
  2. 再将string转换成datetime对象

代码:

import datetime
dt_format="%d%m%Y"
my_date = datetime.date.today()
datetime.datetime.strptime(my_date.strftime(dt_format), dt_format)

我怀疑这不是最有效的方法。在Python中将日期转换为日期时间的最有效方法是什么?


2
这个回答解决了你的问题吗?在Python中将日期转换为日期时间 - Sławomir Lenart
2个回答

38
使用 datetime.datetime.combine() 方法与时间对象一起使用,datetime.time.min 代表 00:00 ,并且将匹配您的日期字符串转换为 datetime 的过程的输出结果:
datetime.datetime.combine(my_date, datetime.time.min)

演示:

>>> import datetime
>>> my_date = datetime.date.today()
>>> datetime.datetime.combine(my_date, datetime.time.min)
datetime.datetime(2013, 3, 27, 0, 0)

12

另外,如这里所建议的那样,这样可能更易读:

datetime(date.year, date.month, date.day)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接