鱼C论坛

 找回密码
 立即注册
查看: 1785|回复: 4

[已解决]关于datetime的now()和today()有时相等有时不相等的疑问

[复制链接]
发表于 2023-8-25 15:05:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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



有时 是相等的有时是不等的
最佳答案
1970-1-1 08:00:00
1692947036977.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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()的精度依赖于操作系统和计算机硬件,可能会因系统设置或硬件延迟而有所不同。

希望能解答你的疑问。如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-25 15:13:37 | 显示全部楼层
可能是调用函数时有一些极小的延迟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-25 16:15:30 | 显示全部楼层
1970?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-8-25 17:30:12 | 显示全部楼层

我设置最佳答案的人好像删除掉了他的回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 17:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表