gpt4 book ai didi

python - 在 Python 中访问 datetime.now() 值

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:38 24 4
gpt4 key购买 nike

我希望能够在我的程序中实现一个只运行 N 小时的条件,也许用户可以指定 N,但我们不要跳到前面。

我想我可以使用 datetime.now() 并将下面的值存储在变量 time

>>> time 
>>> time = datetime.datetime(2013, 12, 9, 21, 50, 32, 405329)

关于如何访问 (--) 之间的第四个字段的任何想法,因为它是一个字符串?

我的条件类似于 while time != timeEnd 其中 timeEnd 将是以下值:

>>> timeEnd = datetime.datetime(2013, 12, 9, 21+N, 50, 32, 405329)

谢谢

最佳答案

不要使用未知的本地日期时间对象,例如 now() 返回的对象,除非您想将它们显示给本地用户。 There are many perils .

有一个difference between "What time is it?" and "How many seconds elapsed?" .前者更容易发现。

要运行 N 小时,您可以:

from time import monotonic as timer # or time.time if it is not available

endtime = timer() + N * 3600
while timer() < endtime:
# do your thing (mind what clocks use sleep(), join(), lock.acquire())

即使计算机时间在程序执行期间手动更改或由于 DST 转换而更改,它也能正常工作。参见 Rational section from pep-418 for introducing time.monotonic in Python .

您可以根据您的需要/可用系统选择其他计时器。例如,您可以使用提供更高精度但可能更快溢出的计时器,或者考虑到可能提供比本地 CPU 或 the time while the system were asleep or suspended 更好时钟的 NTP 邻接。 (想象一下几个小时后你打开笔记本的盖子后你想要发生什么)。

datetime.now() 对象(原始分解时间)如果您希望某事在某个本地时间发生,而不管从现在开始经过了多少秒,例如,在 7pm 任何一天(午夜之前):

from datetime import datetime, time

if datetime.now().time() > time(19):
# do something

关于python - 在 Python 中访问 datetime.now() 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com