在Python中使用datetime.replace()更改小时

17 投票
1 回答
20558 浏览
提问于 2025-04-15 18:58

假设 foo 是一个有效的日期时间对象,在 Python 中,

你可以通过下面的方式来改变这个日期时间对象(foo)中的小时数:

foo2 = foo.replace( hour=5 ) 

而不是像上面那样直接用一个特定的值来替换小时数……有没有办法把 foo 的时间增加,比如说增加 5 个小时呢?可以这样做:

foo2 = foo.replace( hour += 5 ) 

我知道这样写是不对的……但也许这样能更好地说明我想要做的事情……

我只能使用 Python 2.5.1(这是在 OS X 10.5.x 上的版本),而且不能添加任何模块,比如 pyTZ。

1 个回答

26

这就是 timedelta 的用途:

>>> import datetime
>>> d = datetime.datetime(2010, 12, 25, 18, 25)
>>> d + datetime.timedelta(hours = 8)
datetime.datetime(2010, 12, 26, 2, 25)

撰写回答