試圖設定兩個日期:結束日期和開始日期。周末和假日都不能。結束日期必須是最近的營業日期 (t-1),而開始日期必須是結束日期 (t-2) 之前的最近營業日期。假期串列必須手動維護,似乎所有其他可用資源(假期圖書館、作業日歷圖書館)都不夠。
我嘗試并被困在這里:
import pandas as pd
import time
from datetime import datetime, date, time, timedelta
import csv
enddate = datetime.today() - timedelta(days = 1)
if datetime.weekday(enddate) == 6:
enddate = enddate - timedelta(days = 2)
elif datetime.weekday(enddate) == 5:
enddate = enddate - timedelta(days = 1)
begdate = enddate - timedelta(days = 1)
if datetime.weekday(begdate) == 6:
begdate = begdate - timedelta(days = 2)
elif datetime.weekday(begdate) == 5:
begdate = begdate - timedelta(days = 1)
holidaylist = pd.read_csv('holiday.csv')
任何幫助,將不勝感激。
最好的問候,邁克爾
uj5u.com熱心網友回復:
所以這對我有用。一個缺點是假期串列必須在需要時手動更新。
# Date Setup
holidaylist = pd.read_csv('holiday.csv')
holidaylist['Date'] = pd.to_datetime(holidaylist['Date'])
# enddate = date(2020, 12, 28)
enddate = datetime.today() - timedelta(days = 1)
while enddate in holidaylist.values or datetime.weekday(enddate) == 6 or datetime.weekday(enddate) == 5:
enddate = enddate - timedelta(days = 1)
begdate = enddate - timedelta(days = 1)
while begdate in holidaylist.values or datetime.weekday(begdate) == 6 or datetime.weekday(begdate) == 5:
begdate = begdate - timedelta(days = 1)
ed = enddate.strftime("%Y-%m-%d")
bd = begdate.strftime("%Y-%m-%d")
# print(ed,bd)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/325512.html
上一篇:回聲新日期時間();在wordpress上導致嚴重錯誤
下一篇:熊貓將時間間隔與時間序列重疊
