Python 3 - 如果在特定时间后打印

Python 3 - print if after specific time

在 Python 3 中是否有任何检查时间以及是否在某个时间后执行操作(例如打印“今天是下午”)?

这是我已经完成的:

import time
import datetime


now = datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S")
hour = datetime.hour().strftime("%H")

if (hour > 12):
    print("it is the afternoon")

print(now)

如果我 运行 它我得到一个 AttributeError。

datetime模块没有hour方法,所以datetime.hour()会崩溃。

也许你打算这样做:

now = datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S")
hour = datetime.datetime.now().hour

您可以直接从 datetime.datetime 对象访问小时:

if (datetime.datetime.now().hour > 12)
    print("Hello")

那是因为您正在调用 datetime.hour(),其中 datetime 是一个模块,而不是 datetime 的对象。你的意思可能是这样的:

hour = datetime.datetime.now().strftime("%H")

但是strftimereturnsstr,要一个int(相当于另一个int),所以你需要:

hour = int(datetime.datetime.now().strftime("%H"))

这绝对是矫枉过正。这里有一个最简单的方法

hour = datetime.datetime.now().hour

或使用 time 模块:

hour = time.localtime().tm_hour

我只想提出以下建议:

import time
import datetime


now = datetime.datetime.now()

if (now.hour > 12):
    print("it is the afternoon")

print(now.strftime("%d/%m/%y %H:%M:%S"))