python计算天数包含几周_如何在python中计算几周内两个日期之间的差异

我正在尝试计算“一年的几周”中两个日期之间的差异。我可以获取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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值