Python如何使日期时间更新时间
Posted
技术标签:
【中文标题】Python如何使日期时间更新时间【英文标题】:Python how to make datetime update time 【发布时间】:2021-11-27 01:09:21 【问题描述】:我在 pytz 中使用 datetime,但我没时间更新。
format = "[%B %d %H:%M]"
now_utc = datetime.now(timezone('UTC'))
greece = now_utc.astimezone(timezone('Europe/Athens'))
date = greece.strftime(format)
例如我在 11:30 打印(日期),它保持这样。 有什么想法吗?
【问题讨论】:
像datetime.now()
这样的函数有点奇怪,因为每次调用它们时它们都会给出不同的结果,这与常规函数不同,常规函数的返回值仅取决于您传递给它们的输入。现在,在与现实世界交互时,怪异是有用且必要的:不仅适用于日期和时间,还适用于可用内存、日志文件的大小等。但是如果您希望程序中具有这种不确定性,您有通过调用函数来明确要求它,而不是让变量在你背后改变它的值。
【参考方案1】:
事实上,date
在整个运行时保持不变。目前没有什么可以更新的。如果您想定期检查和打印时间,您需要定义一个函数并让您的脚本在该时间后调用它。
import time
fmt = "[%B %d %H:%M]"
def print_now()
now_utc = datetime.now(timezone('UTC'))
greece = now_utc.astimezone(timezone('Europe/Athens'))
date = greece.strftime(fmt)
print(date)
while True:
print_now()
time.sleep(60) # argument is time to wait in seconds
只要True
是True
(总是如此),循环就会继续,除非你定义了一些条件来强制它在某个点结束。当然,您可以在 while
循环中包含 print_now()
函数内容,但将其放在自己的函数中会更简洁一些。
【讨论】:
以上是关于Python如何使日期时间更新时间的主要内容,如果未能解决你的问题,请参考以下文章