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

只要TrueTrue(总是如此),循环就会继续,除非你定义了一些条件来强制它在某个点结束。当然,您可以在 while 循环中包含 print_now() 函数内容,但将其放在自己的函数中会更简洁一些。

【讨论】:

以上是关于Python如何使日期时间更新时间的主要内容,如果未能解决你的问题,请参考以下文章

如何刷新表视图以使索引也更新?

Python - 如何找到下一个最大日期

如何使用当前日期更新访问日期/时间字段

Java - 如何使当前日期独立于系统日期? [重复]

如何使用引导模式更新引导日期时间选择器中的默认日期

在 vis-timeline 中,如何使时间轴用数字而不是日期/时间标记?