计算时间差 以秒为单位

一个自动发送mail项目,需要用chrome渲染抓取网页,采集信息后发送,受网络影响,时间可能不稳定,为了营造同时发送的假象,提前抓取页面,然后等待。

比如程序运行需要三分钟,发送时间为10:00,就可以09:50跑程序,smtp发送时瞬间完成的,时间可以忽略不计,主要计算采集完数据,到发出程序之间的时间差。

如果差额为正值,sleep这段时间,如果为负值,直接发送。

def get_wait_seconds(hour, minute):
    from datetime import datetime
    now_time = datetime.now()
    now_time = now_time.strftime("%Y-%m-%d %H:%M:%S")
    now_time = datetime.strptime(now_time, r"%Y-%m-%d %H:%M:%S")
    now_day = now_time.strftime('%Y/%m/%d')
    # print("当前时间", now_time)
    # print('当前日期', now_day)
    # print(type(now_time))
    end_time = f'{now_day} {hour}:{minute}:00'
    end_time = datetime.strptime(end_time, r"%Y/%m/%d %H:%M:%S")
    # print(end_time)
    # print(type(end_time))
    diff = end_time - now_time
    wait_time = int(diff.total_seconds())
    # print("时间差", diff)
    # print("两时间相差多少秒", wait_time)
    if wait_time > 0:
        # print('wait time is', wait_time)
        return wait_time
    else:
        return 0
wait_time = get_wait_seconds(15,30)
print(wait_time)

参考
https://blog.csdn.net/hou9876543210/article/details/109091542

猜你喜欢

转载自blog.csdn.net/nongcunqq/article/details/114176745