如何创建相当于15分钟前的日期时间?

我需要创建一个 DateTime 对象,它表示当前时间减去15分钟。

169221 次浏览
 datetime.datetime.now() - datetime.timedelta(minutes=15)

导入日期时间,然后是神奇的时间三角洲:

In [63]: datetime.datetime.now()
Out[63]: datetime.datetime(2010, 12, 27, 14, 39, 19, 700401)


In [64]: datetime.datetime.now() - datetime.timedelta(minutes=15)
Out[64]: datetime.datetime(2010, 12, 27, 14, 24, 21, 684435)

timedelta对象外,还使用 DateTime Http://docs.python.org/library/datetime.html

datetime.datetime.now()-datetime.timedelta(minutes=15)

datetime.datetime.now() - datetime.timedelta(0, 15 * 60)

timedelta是一种“时间上的变化”。它的第一个参数是天,第二个参数是秒。15 * 60秒是15分钟。

import datetime
datetime.datetime.now() - datetime.timedelta(0, 900)


Actually 900 is in seconds. Which is equal to 15 minutes. `15*60 = 900`

如果你想看到更多的例子,我已经提供了两种方法,可以持续几分钟,也可以持续几年甚至几个小时:

import datetime
print(datetime.datetime.now())
print(datetime.datetime.now() - datetime.timedelta(minutes = 15))
print(datetime.datetime.now() + datetime.timedelta(minutes = -15))
print(datetime.timedelta(hours = 5))
print(datetime.datetime.now() + datetime.timedelta(days = 3))
print(datetime.datetime.now() + datetime.timedelta(days = -9))
print(datetime.datetime.now() - datetime.timedelta(days = 9))

我得到了以下结果:

2016-06-03 16:04:03.706615
2016-06-03 15:49:03.706622
2016-06-03 15:49:03.706642
5:00:00
2016-06-06 16:04:03.706665
2016-05-25 16:04:03.706676
2016-05-25 16:04:03.706687
2016-06-03
16:04:03.706716

这就是我们应该做的:

datetime.datetime.now() - datetime.timedelta(minutes = 15)

timedelta s 是专门设计来允许您减去或添加差值到 datetime

如果您正在使用 time.time()并希望将时间戳作为输出

简单使用

CONSTANT_SECONDS = 900 # time  in seconds (900 seconds = 15 min)


current_time = int(time.time())
time_before_15_min = current_time - CONSTANT_SECONDS

您可以根据需要的时间更改900秒。

只有 Python 3.7中的以下代码对我有用

from datetime import datetime,timedelta
print(datetime.now()-timedelta(seconds=900))