从python中的datetime减去秒数

rod*_*ocf 22 python datetime python-3.x

我有一个int变量,实际上是秒(让我们调用秒数X).我需要得到结果当前日期和时间(以日期时间格式)减去X秒.

如果X是65并且当前日期是2014-06-03 15:45:00,那么我需要得到结果2014-06-03 15:43:45.

环境

我在Python 3.3.3上这样做,我知道我可以使用该datetime模块,但到目前为止我还没有取得任何成功.

jul*_*enc 38

datetime确实使用该模块:

import datetime

X = 65
result = datetime.datetime.now() - datetime.timedelta(seconds=X)
Run Code Online (Sandbox Code Playgroud)

您应该阅读此软件包的文档以了解如何使用它!


wim*_*wim 5

考虑使用dateutil.relativedelta, 而不是datetime.timedelta

>>> from datetime import datetime
>>> from dateutil.relativedelta import relativedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2014, 6, 3, 22, 55, 9, 680637)
>>> now - relativedelta(seconds=15)
datetime.datetime(2014, 6, 3, 22, 54, 54, 680637)
Run Code Online (Sandbox Code Playgroud)

在这种 15 秒增量的情况下,与使用 stdlib 相比没有优势timedelta,但relativedelta支持更大的单位,例如月或年,并且它可以更正确地处理一般情况(例如考虑闰年和周期所需的特殊处理夏令时过渡)。