1.安装chinese_calendar
建议使用阿里云的镜像,不然太慢了
pip3 install chinese_calendar -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- 当时我想实现该功能时,查相关资料踩了不少坑,看网上有推过这个
tushare
这个库,有两种方式,一种需要token,一种不需要,我尝试的是不需要的token,但也失败,报了很奇怪的错误。 - 最简单还是使用chinese_calendar加上datetime这两个库就可以轻松实现
2.具体实现
- is_workday可以判定是否是工作日,周末以及节假日等
- 虽然补班是工作日,但并不是交易日,则可以用到datetime.isoweekday(date) ,返回1-7,分别代表周一至周日
from chinese_calendar import is_workday
from datetime import datetime
# 判断所给日期是否为交易日
def isTradeDay(date):
if is_workday(date):
if datetime.isoweekday(date) < 6:
return True
return False
if __name__ == '__main__':
date = '2023-04-1'
date = datetime.strptime(date, '%Y-%m-%d').date()
print(isTradeDay(date))
print(isTradeDay(datetime.now()))