簡體   English   中英

如何使用剝離時間'%Y-%m-%d%H:%M:%S'減去-1分鍾。

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM