irx999 发表于 2023-8-25 15:05:15

关于datetime的now()和today()有时相等有时不相等的疑问

import datetime,time
for i in range(10):
    print(datetime.datetime.now() == datetime.datetime.today())
    time.sleep(1)



有时 是相等的有时是不等的

陶远航 发表于 2023-8-25 15:05:48

datetime.now()和datetime.today()在大多数情况下是等价的,它们都返回当前的日期和时间。然而,由于计算机系统的精度限制以及函数调用的瞬间,它们可能会出现微小的差异。

具体来说,datetime.now()返回一个datetime对象,表示当前的本地日期和时间。而datetime.today()返回一个datetime对象,表示当前的本地日期和时间,并且与datetime.now()基本上是等效的。

在你的代码中,由于使用了time.sleep(1),每次迭代都会暂停一秒钟。在这一秒钟内,计算机的时钟可能会稍微发生变化,从而导致datetime.now()和datetime.today()的微小差异。因此,在某些迭代中,你可能会看到它们不完全相等。

如果你不关心细微差异,可以直接使用其中任意一个函数,它们通常都会满足你的需求。只要注意到它们的差异是由于计算机系统的限制所致,一般情况下不会对大多数应用造成实质性影响。

需要注意的是,datetime.now()和datetime.today()的精度依赖于操作系统和计算机硬件,可能会因系统设置或硬件延迟而有所不同。

希望能解答你的疑问。如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案

liuhongrun2022 发表于 2023-8-25 15:13:37

可能是调用函数时有一些极小的延迟

歌者文明清理员 发表于 2023-8-25 16:15:30

1970?

irx999 发表于 2023-8-25 17:30:12

歌者文明清理员 发表于 2023-8-25 16:15
1970?

我设置最佳答案的人好像删除掉了他的回复
页: [1]
查看完整版本: 关于datetime的now()和today()有时相等有时不相等的疑问