问题描述
使用熊猫!
import datetime
import pandas as pd
# BDay is business day, not birthday...
from pandas.tseries.offsets import BDay
today = datetime.datetime.today()
print(today - BDay(4))
由于今天是9月26日,星期四,因此您将获得以下输出:
datetime.datetime(2013, 9, 20, 14, 8, 4, 89761)
解决方法
我需要从当前日期减去 工作日 。
我目前有一些代码,需要始终在最近的工作日运行。如果今天是星期一至星期五,则可能是今天,但是如果是星期六或星期日,则需要将其设置回周末之前的星期五。我目前有一些
笨拙的 代码可以做到这一点:
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
有没有更好的办法?
我可以告诉timedelta在工作日而不是日历日工作吗?