Python 将时间添加到日期时间

Python 将时间添加到日期时间,python,datetime,time,python-datetime,Python,Datetime,Time,Python Datetime,我有一个这样的日期字符串,然后使用strtime(),所以它是这样的 my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%Y') 现在我想给我的时间加上23小时59分钟 我试过.timedelta,但不起作用?我怎样才能做到这一点呢?之后再加上时间;您可以使用生成新的datetime对象: my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y') my_time = m

我有一个这样的日期字符串,然后使用
strtime()
,所以它是这样的

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%Y')
现在我想给我的时间加上23小时59分钟


我试过
.timedelta
,但不起作用?我怎样才能做到这一点呢?

之后再加上时间;您可以使用生成新的
datetime
对象:

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = my_time.replace(hour=23, minute=59)
my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = datetime.datetime.combine(my_time.date(), datetime.time(23, 59))
datetime.strtime()
将小时和分钟值设置为默认值
0
。请注意,对于两位数年份(如
15
),您将使用
%y
,而不是
%y
,即四位数年份

您还可以使用来配对
日期
时间
对象:

my_time = datetime.datetime.strptime('07/05/15', '%m/%d/%y')
my_time = my_time.replace(hour=23, minute=59)
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)
演示:


首先,根据您提供的日期字符串,
格式似乎有误,您应该使用
%y
(小y)表示2位数年份,
%y
(大写y)表示4位数年份

然后,您可以按如下所示使用timedelta将时间添加到my_time中,但添加操作会生成一个新的datetime对象,而不会更改
my_time

因此,您需要像这样将其分配回您的
my_time
-

>>> import datetime

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

您使用的代码是什么?它适用于我,你是否会问,你是否已经“尝试过”但没有发布过有效的代码?如果你知道它不起作用,你希望任何人在没有看到代码的情况下告诉你什么?如果你需要添加一个负数或超过一天的量,那么只有
timedelta()
解决方案会起作用。我不知道为什么,但它会抛出错误
AttributeError:type对象“datetime.datetime”没有属性“timedelta”
。我的代码看起来像是来自datetime import datetime的
;newTime=passedTime+datetime.timedelta()
如果有人与Alexey Nikonov有相同的错误,这个答案帮助我解决了这个问题:您需要执行
导入datetime;newTime=passedTime+datetime.timedelta()
。Alexey基本上导入了日期时间;newTime=passedTime+datetime.datetime.timedelta()
因为他是如何从datetime导入datetime将其导入结构化为