gpt4 book ai didi

python - 如何在python中计算两周内两个日期之间的差异

转载 作者:IT老高 更新时间:2023-10-28 22:12:59 27 4
gpt4 key购买 nike

我正在尝试计算“一年中的几周”中两个日期之间的差异。我可以获取 datetime 对象并获取天数等,但不能获取周数。当然,我不能减去日期,因为这样不能保证周末。

我尝试使用 d1.isocalendar()[1] 并减去 d2.isocalendar()[1] 来获取周数,但问题是 isocalendar()[1] 返回 December 31, 2012 作为第 1 周(这应该是正确的),但这意味着我的逻辑不能跨越这个日期。

作为引用,这是我的完整代码:

def week_no(self):
ents = self.course.courselogentry_set.all().order_by('lecture_date')
l_no = 1
for e in ents:
if l_no == 1:
starting_week_of_year = e.lecture_date.isocalendar()[1] # get week of year
initial_year = e.lecture_date.year
if e == self:
this_year = e.lecture_date.year
offset_week = (this_year - initial_year) * 52
w_no = e.lecture_date.isocalendar()[1] - starting_week_of_year + 1 + offset_week
break
l_no += 1
return w_no

使用此代码,2012 年 12 月 31 日的讲座最终为 -35。

最佳答案

如何计算各个日期的几周内星期一之间的周差?在以下代码中,monday1d1 (同一周)或之前的星期一:

from datetime import datetime, timedelta

monday1 = (d1 - timedelta(days=d1.weekday()))
monday2 = (d2 - timedelta(days=d2.weekday()))

print 'Weeks:', (monday2 - monday1).days / 7

如果两个日期都在一周内,则返回 0,如果连续两周,则返回 1,依此类推。

关于python - 如何在python中计算两周内两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191832/

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