我需要从当前日期减去工作日.
我目前有一些代码需要始终在最近的工作日运行.所以今天可能是今天,如果我们是星期一到星期五,但如果是星期六或星期日,那么我需要把它设置回周末前的星期五.我目前有一些非常笨重的代码来做到这一点:
lastBusDay = datetime.datetime.today()
if datetime.date.weekday(lastBusDay) == 5: #if it's Saturday
lastBusDay = lastBusDay - datetime.timedelta(days = 1) #then make it Friday
elif datetime.date.weekday(lastBusDay) == 6: #if it's Sunday
lastBusDay = lastBusDay - datetime.timedelta(days = 2); #then make it Friday
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我可以告诉timedelta在工作日而不是日历日工作吗?
我有来自用户的原始输入,例如"2015-01-30"...对于我正在使用的查询,日期必须输入为字符串,如"yyyy-mm-dd".
我希望在我的循环结束时将日期增加1个月"2015-01-30"变为"2015-02-27"(理想情况下是下个月的最后一个工作日).我希望有人可以帮助我; 我正在使用PYTHON,我想转换为datetime的原因是我找到了一个添加1个月的功能.
理想情况下,我要回答的两个问题是(在Python中):
1)如何将字符串"yyyy-mm-dd"转换为python日期时间并在应用timedelta函数后转换回字符串
2)和/或如何将1个月添加到字符串"yyyy-mm-dd"