我有一个int变量,实际上是秒(让我们称之为秒X
)。我需要得到结果当前日期和时间(以日期时间格式)减去X
秒。
如果X
为65且当前日期为2014-06-03 15:45:00
,那么我需要获得结果2014-06-03 15:43:45
。
我在Python 3.3.3上这样做,我知道我可以使用datetime
模块,但到目前为止还没有取得任何成功。
答案 0 :(得分:31)
确实使用datetime
模块:
import datetime
X = 65
result = datetime.datetime.now() - datetime.timedelta(seconds=X)
您应该阅读此软件包的documentation以了解如何使用它!
答案 1 :(得分:2)
>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2014, 6, 3, 22, 55, 9, 680637)
>>> now - timedelta(seconds=15)
datetime.datetime(2014, 6, 3, 22, 54, 54, 680637)
这是一个核心库解决方案,通常对于此任务我更喜欢使用带有dateutil.relativedelta
的第三方类,它具有更多参数和更大的灵活性。
答案 2 :(得分:1)
要扩展@julienc的答案, (以防对某人有帮助)
如果允许X接受正数或负数,并且将减法语句更改为加法语句,则可以具有更直观(因此不必为负数添加负数)的时间调整功能像这样:
def adjustTimeBySeconds(time, delta):
return time + datetime.timedelta(seconds=delta)
time = datetime.datetime.now()
X = -65
print(adjustTimeBySeconds(time, X))
X = 65
print(adjustTimeBySeconds(time, X))