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
How to create a DateTime equal to 15 minutes ago?
提问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
回答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))

