Python 如何创建一个等于 15 分钟前的 DateTime?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4541629/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-18 16:14:38  来源:igfitidea点击:

How to create a DateTime equal to 15 minutes ago?

pythondatetime

提问by Will Curran

I need to create a DateTime object that represents the current time minus 15 minutes.

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

采纳答案by Spacedman

import datetime and then the magic timedelta stuff:

导入日期时间,然后是神奇的 timedelta 东西:

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)

回答by eduffy

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

回答by Hut8

Use DateTime in addition to a timedeltaobject http://docs.python.org/library/datetime.html

除了timedelta对象 http://docs.python.org/library/datetime.html之外,还使用 ​​DateTime

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

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

回答by Donald Miner

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

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

timedeltais a "change in time". It takes days as the first parameter and seconds in the second parameter. 15 * 60seconds is 15 minutes.

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

回答by Tauquir

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

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

回答by Mona Jalal

I have provide two methods for doing so for minutes as well as for years and hours if you want to see more examples:

如果您想查看更多示例,我提供了两种方法可以在几分钟以及几年和几小时内执行此操作:

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))

I get the following results:

我得到以下结果:

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

回答by Mona Jalal

This is simply what to do:

这就是要做的事情:

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

timedeltas are specifically designed to allow you to subtract or add deltas (differences) to datetimes.

timedeltas 专门设计用于允许您对 s 减去或增加增量(差异)datetime

回答by vivek dhamecha

If you are using time.time()and wants timestamp as output

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

Simply use

只需使用

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

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

You can change 900 seconds as per your required time.

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

回答by Anandkumar

only the below code in Python 3.7 worked for me

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

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