0

可能是一个比利的基本问题,我可以将当​​前小时插入我的 python,但我希望能够从中减去 3 小时。我已经尝试过以下方法,但这只是打印出小时 - 3。

我需要时间为 24 小时格式,因为我需要保持前导零。我哪里错了?

import time
print (time.strftime("%H -3"))
15 -3
4

2 回答 2

5

您需要在格式化时间之前减去小时数。

使用这个datetime要容易得多:

>>> import datetime
>>> now = datetime.datetime.now()
>>> then = now - datetime.timedelta(hours=3)
>>> then.hour
16
>>> then.strftime('%H')
'16'

但是你也可以用time模块来做,只要你减去秒:

>>> import time
>>> now = time.mktime(time.localtime())
>>> then = now - (3600 * 3)
>>> time.localtime(then).tm_hour
16
>>> time.strftime('%H', time.localtime(then))
'16'
于 2013-11-08T19:25:26.273 回答
1
import datetime
datetime.datetime.now().hour
(datetime.datetime.now()  - datetime.timedelta(hours=3)).hour
于 2013-11-08T19:28:16.210 回答