将时间添加到日期时间

2024-05-16

我有一个像这样的日期字符串,然后使用strptime()所以就像这样

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%Y')

现在我想添加 23 小时 59 分钟my_time

我努力了.timedelta但它不起作用?我怎么能这样做呢?


之后添加时间;你可以这样做datetime.replace() method https://docs.python.org/2/library/datetime.html#datetime.datetime.replace产生一个新的datetime object:

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = my_time.replace(hour=23, minute=59)

The datetime.strptime()将小时和分钟值设置为默认值,0。请注意,对于两位数年份(例如15)你会用%y, not %Y,表示四位数的年份。

您还可以使用datetime.combine()类方法 https://docs.python.org/2/library/datetime.html#datetime.datetime.combine配对一个date and a time object:

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = datetime.datetime.combine(my_time.date(), datetime.time(23, 59))

如果您觉得必须使用timedelta(),考虑到添加它会再次产生一个新的datetime目的。您可以使用增强分配将其“就地”添加:

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time += datetime.timedelta(hours=23, minutes=59)

Demo:

>>> import datetime
>>> my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
>>> my_time.replace(hour=23, minute=59)
datetime.datetime(2015, 7, 5, 23, 59)
>>> datetime.datetime.combine(my_time.date(), datetime.time(23, 59))
datetime.datetime(2015, 7, 5, 23, 59)
>>> my_time + datetime.timedelta(hours=23, minutes=59)
datetime.datetime(2015, 7, 5, 23, 59)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将时间添加到日期时间 的相关文章