![](/img/trans.png)
[英]How to minus 1 minute in a variable with format as '%Y-%m-%dT%H:%M:%S'
[英]How to use striptime '%Y-%m-%d %H:%M:%S' minus - 1 minute.?
我正在尝试使用基本上给我'%Y-%m-%d%H:%M:%S'等'2019-05-03 09:00:00'
,我正在尝试实现是我要花那个时间-1分钟所以输出应该是2019-05-03 08:59:00
到目前为止,我所做的是
date_time = '2019-05-03 09:00:00'
target = datetime.strptime(date_time, '%Y-%m-%d %H:%M:%S')
now = datetime.now()
delta = target - now
if delta > timedelta(0):
print('Will sleep {} : {}'.format(date_time, delta))
time.sleep(delta.total_seconds())
我不确定如何使该功能生效-1分钟。 我不确定是否可能?
看来您打算在if子句中使用格式为datetime的变量target
,但是您使用了该日期的字符串表示形式date_time
。
改用datetime对象并减去timedelta(minutes=1)
工作示例:
date_time = '2019-05-03 09:00:00'
target = datetime.strptime(date_time, '%Y-%m-%d %H:%M:%S')
now = datetime.now()
delta = target - now
if delta > timedelta(0):
target = target - timedelta(minutes=1)
print('Will sleep {} : {}'.format(target, delta))
time.sleep(delta.total_seconds())
如果您想使用当前时间来确定您的输出
import datetime, time
from datetime import timedelta
daytime = '2019-05-03 09:00:00'
target = datetime.datetime.strptime(daytime, '%Y-%m-%d %H:%M:%S')
print (datetime.datetime.now())
now = datetime.datetime.now()
new_time = target-now
if new_time > datetime.timedelta(0):
print('Will sleep {} : {}'.format(daytime, new_time))
time.sleep(new_time.total_seconds())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.