Python 将timedelta添加到datetime不移动到第二天

Python 将timedelta添加到datetime不移动到第二天,python,datetime,Python,Datetime,如果我在Python中运行以下代码: 从datetime导入datetime,timedelta 午夜之前=日期时间(2014,7,16,11,59,59) 在午夜前打印 跳过午夜=时间增量(秒=2) 午夜之后第二天=午夜之前+跳过午夜 午夜后打印第二天 ... 它提供了以下输出: 2014-07-16 11:59:59 2014-07-16 12:00:01 2014-07-16 11:59:59 2014-07-16 12:00:01 谁能解释一下为什么这两种情况下的日期都是7月16日,

如果我在Python中运行以下代码:

从datetime导入datetime,timedelta
午夜之前=日期时间(2014,7,16,11,59,59)
在午夜前打印
跳过午夜=时间增量(秒=2)
午夜之后第二天=午夜之前+跳过午夜
午夜后打印第二天
... 它提供了以下输出:

2014-07-16 11:59:59 2014-07-16 12:00:01 2014-07-16 11:59:59 2014-07-16 12:00:01
谁能解释一下为什么这两种情况下的日期都是7月16日,而不是第二个日期是7月17日?

因为那是上午11:59:59

您需要使用24小时的时间来查看预期的结果:

>>> just_before_midnight = datetime(2014, 7, 16, 23, 59, 59)
>>> just_after_midnight_the_next_day = just_before_midnight + timedelta(seconds=2)
>>> print just_before_midnight, just_after_midnight_the_next_day
2014-07-16 23:59:59 2014-07-17 00:00:01