python 获取全年日期及日期详情
link: https://blog.csdn.net/qq_42711381/article/details/121118092
import datetime """ 判断节假日采用chinese_calendar库, 支持 2004年 至 2022年,包括 2020年 的春节延长, 参考 https://pypi.org/project/chinesecalendar/#description。 也可以直接请求节假日数据接口 """ from chinese_calendar import is_holiday year = 2021 # 得到一年中所有的日期 def get_whole_year(year=year): begin = datetime.date(year, 1, 1) now = begin end = datetime.date(year, 12, 31) delta = datetime.timedelta(days=1) days = [] while now <= end: days.append(now.strftime("%Y-%m-%d")) now += delta return days # 获取季度 def get_quarter(month): # 第几季度 if 1 <= month <= 3: return 1 elif 4 <= month <= 6: return 2 elif 7 <= month <= 9: return 3 else: return 4 # 判断是否为周末 def is_weekends(weekday): return False if 1 <= weekday <= 5 else True # 得到日期的具体信息 def get_details(day): # 年 year = day.strftime("%Y") # 月 month = day.strftime("%m") # 周几 wk = int(day.strftime("%w")) weekday = 7 if wk == 0 else wk # 一年中的第几天 day_of_year = day.strftime("%j") # 一年中的第几周 week_of_year = int(day.strftime("%W")) + 1 # 季度 quarter = get_quarter(int(month)) # 是否为周末 is_weekend = is_weekends(int(weekday)) # 是否为节假日 is_holi = is_holiday(day) return [year, month, weekday, day_of_year, week_of_year, quarter, is_weekend, is_holi] for year in [2021, 2022]: days = get_whole_year(year) for day in days: detail = get_details(day)