【发布时间】:2019-08-06 05:31:30
【问题描述】:
我有一个日期变量:
temp_date = '2019-03-15'
我使用日期时间计算了week no. of the month 和day:
我得到了 week_no = 3 和 day = 'Friday'。
我想找出同一工作日组合的二月、一月和十二月的日期。
即:2 月、第 3 周、星期五的日期(Ans:2019-02-15)和
日期为 1 月,第 3 周,星期五(Ans:2019-01-18)。
日期为 12 月,第 3 周,周五(Ans: 2018-12-14)
我试过了:
feb= (current_date + timedelta(weeks=4)).strftime ('%d-%m-%Y')
jan= (current_date + timedelta(weeks=8)).strftime ('%d-%m-%Y')
dec= (current_date + timedelta(weeks=12)).strftime ('%d-%m-%Y')
我得到了正确的 1 月和 2 月日期,但 12 月我得到了 (2018-12-21)。
有更好的方法吗?
【问题讨论】:
-
这是您的实际代码吗?您正在添加
timedelta而不是减去它。如果您在 2019 年 12 月之后,则应增加 40 周而不是减去 12 周。 -
如果您期望
2018-12-14弹出,那么您的前提是错误的。如果您想要每月的第三个星期五,那么 12 月 21 日就是这样。第二个是 12 月 14 日,第一个是 12 月 7 日,之前的星期五是 11 月 30 日。 -
@GreenCloakGuy 你是说 11 月 30 日吗?
-
@Selcuk ~你这个笨蛋,每个人都知道十一月不存在!~ *已修复
-
@GreenCloakGuy 我以为澳大利亚不存在,但我可能错了。