Python:我们刚刚穿过午夜吗?

Ger*_*alk 2 python time

我有一个一直在后台运行的小脚本。每次跨过午夜,我都想做点什么。该脚本使用 sleep 函数,因此不确定它是否在 00:00:00 时间醒来。所以我想有这样的代码:

last_time= time.now()
while True:
    if last_time < midnight && midnight < time.now():
        # do stuff
        last_time= time.now()
    sleep(some time)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 if 语句中编写正确的行。

tde*_*ney 5

您可以使用该datetime模块来获取当前本地时间作为datetime对象。它很方便,因为该对象包含日期。只需检查何时发生变化即可。

import datetime
import time

last_day = datetime.datetime.now().day
while True:
    day = datetime.datetime.now().day
    if day != last_day:
        last_day = day
        do_your_work()
    time.sleep(some_time)
Run Code Online (Sandbox Code Playgroud)