gpt4 book ai didi

django - Django 的工作日

转载 作者:行者123 更新时间:2023-12-04 04:48:19 25 4
gpt4 key购买 nike

我需要实现一个使用工作日的有条件休息时间。我有一个类(class) DateField ,如果该日期在 future 少于 5 个工作日,则会发生某些事情(操作 a ),否则 b发生。如何确定两个对象之间的工作日数?

显然,我需要计算从今天算起的 5 个工作日是多少。使用简单的时间增量可以很容易地找到 future 5 天,但要考虑工作日,它会变得更加复杂。我想我现在可以放心地忽略假期(这不是最好的情况,但我认为我可以将工作日设为周一至周五)。任何人都可以给我一些关于如何做的指导:target = today + 5 business_days ?

谢谢

最佳答案

这是一个通用的解决方案,即使您的情况非常简单;P

from datetime import timedelta, date

def add_business_days(from_date, number_of_days):
to_date = from_date
while number_of_days:
to_date += timedelta(1)
if to_date.weekday() < 5: # i.e. is not saturday or sunday
number_of_days -= 1
return to_date

结果。
>>> date.today()
datetime.date(2013, 7, 25)
>>> add_business_days(date.today(), 6)
datetime.date(2013, 8, 2)

如果您在 if 语句中检查日期是否为假日,则加分。

关于django - Django 的工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842775/

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