首页 > 解决方案 > 如何使用 striptime '%Y-%m-%d %H:%M:%S' 减去 - 1 分钟。?

问题描述

我试图基本上使用striptime,它给我'%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分钟。我不确定它是否可能?

标签: pythondatetime

解决方案


看来您打算使用targetif 子句中调用的格式化 datetime 变量,但您使用了该日期的字符串表示形式,称为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())

推荐阅读