【发布时间】:2021-05-26 21:48:53
【问题描述】:
基本上我正在寻找某种方法来计算前天的业务,因为我必须运行 t-2 查询,而无需对 datetime 变量进行任何手动干预:
简而言之:
27.05.21 -> 25.05.21
今天的日期当然是每天都在变化的动态变量,您应该考虑周末,例如31.05.21 -> 27.05.21
我自己研究了“获取最后一个工作日的方法”来修改它......
today = datetime.today()
offset = max(1, (today. weekday() + 6) % 7 - 3)
timedelta = datetime. timedelta(offset)
most_recent = today - timedelta
print(most_recent)
...但是我失败得很惨,在这里不值一提。
任何帮助将不胜感激!
非常感谢!
Ciao 回复
【问题讨论】:
-
请详细说明您的代码存在的问题。我没看到。 5 月 20 日至 27 日这一周的简单测试循环显示了每一天的正确结果。
-
如果你需要考虑假期,这段代码会复杂很多。
-
这段代码必须每天运行,由詹金斯通过 git 触发。 5 月 20 日至 27 日(等等……)只是一个例子。因此,解决方案必须从今天开始每天运行,并且应该通过前天的工作日,这意味着今天 = 27.05。 -> 输出:25.05。不应考虑假期。
-
我想知道为什么人们不赞成这个问题:|这是一个有趣的问题。与这个问题无关,但对于假期,很难考虑假期,因为这取决于每个国家的政策。考虑到假期,我们应该有一个数据库。