gpt4 book ai didi

python - python中两个日期之间的整数差

转载 作者:太空狗 更新时间:2023-10-29 17:38:34 25 4
gpt4 key购买 nike

我有 RTFM 并在这里阅读了很多关于 SO 的问题和答案,并且昨天很高兴地使用 strftime 和 strptime,所以我发誓这应该有效,但事实并非如此......

我只想要一个整数。不是“timedelta 对象”。不是“可感知但可散列的对象”(参见 I RTFM)。不是元组。不是字典。只是一个简单的怪异整数,所以我可以使用 if 语句和分支并且很高兴。请将您的智慧之光带到这里,谢谢。

这是我的

...
import datetime
mdate = "2010-10-05"
rdate = "2010-10-05"
mdate1 = datetime.strptime(mdate, "%Y-%m-%d")
rdate1 = datetime.strptime(rdate, "%Y-%m-%d")
delta = datetime.timedelta.days(mdate1 - rdate1)

这是我得到的:

pmain.py:4: AttributeError: 'module' object has no attribute 'strptime'
(error hits in the 'mdate1..." line above)

而且,这并不意味着我的 delta 线会起作用——请也看看那个。

最佳答案

你想获取classmethoddatetime.datetime.strptime(),然后取.days属性 从产生的时间增量:

import datetime

mdate = "2010-10-05"
rdate = "2010-10-05"
mdate1 = datetime.datetime.strptime(mdate, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(rdate, "%Y-%m-%d").date()
delta = (mdate1 - rdate1).days

所以你有 datetime 模块,它有一个 datetime.datetime 类,而这个类又有一个 datetime.datetime.strptime() 方法就可以了。我还添加了对 .date() 的调用以提取只是日期部分(结果是一个 datetime.date 实例);这使得处理略小于 24 小时倍数的时间戳更容易。

演示:

>>> import datetime
>>> mdate = "2010-10-05"
>>> rdate = "2010-10-05"
>>> mdate1 = datetime.datetime.strptime(mdate, "%Y-%m-%d").date()
>>> rdate1 = datetime.datetime.strptime(rdate, "%Y-%m-%d").date()
>>> delta = (mdate1 - rdate1).days
>>> print delta
0
>>> type(delta)
<type 'int'>

关于python - python中两个日期之间的整数差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16170737/

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