import datetimeclass workDays:def __init__(self, start_date, end_start, days_off=None):"""weekday()方法将一个日期转换对应成星期,以星期一(0)到星期天(6)结束:param start_date: 开始时间,必须是datetime格式:param end_start: 结束时间,必须是datetime格式:param days_off: 休息日,默认为周六周日"""self.start_date = start_dateself.end_date = end_startself.days_off = days_offif self.start_date > self.end_date:  # 防止开始日期和结束日期传入反了self.start_date, self.end_date = self.end_date, self.start_dateif self.days_off is None:  # 休息日为周六、周日self.days_off = 5, 6# 每周工作日列表self.days_work = [i for i in range(7) if i not in self.days_off]def workDays(self):  # 计算出自定义范围内有多少个工作日,包含节假日tag_date = self.start_datewhile True:if tag_date > self.end_date:breakif tag_date.weekday() in self.days_work:  # 判断日期为非周末yield tag_datetag_date += datetime.timedelta(days=1)def holiday(self):  # 计算自定义范围内节假日占多少# A股休市日期holiday = "20210101,20210211,20210212,20210215,20210216,20210217,20210405,20210503,20210504,20210505,20210614,20210920,20210921,20211001,20211004,20211005,20211006,20211007"holidayList = holiday.split(",")for i in holidayList:date = datetime.datetime(int(i[0:4]), int(i[4:6]), int(i[6:8]))if self.start_date <= date <= self.end_date:  # 判断节假日在自定义的范围内if date.weekday() in self.days_work:  # 判断为非周末yield datedef daysCount(self):  # 计算工作日,不包含节假日return len(list(self.workDays()))-len(list(self.holiday()))

计算二个时间内有多少个交易日相关推荐

  1. C#统计一段时间内有多少个星期几

    1 ///<summary> 2 /// 统计一段时间内有多少个星期几 3 ///</summary> 4 ///<param name= "AStart &q ...

  2. 基于visual Studio2013解决面试题之0410计算二进制中1的个数

     题目 解决代码及点评 /*求一个数中,二进制表示方式中1的个数范例算法采用分治思想,通过位操作计算二进制中1的个数 */#include <iostream> using name ...

  3. 计算两个时间内指定礼拜几的数量

    计算两个时间内指定礼拜几的数量 //计算两个日期之间有几个礼拜几private static long weekend(String start, String end, int week) {Dat ...

  4. 【深度学习】基于Pytorch进行深度神经网络计算(二)

    [深度学习]基于Pytorch进行深度神经网络计算(二) 文章目录 1 延后初始化 2 Pytorch自定义层2.1 不带参数的层2.2 带参数的层 3 基于Pytorch存取文件 4 torch.n ...

  5. 计算二个日期经过几月又几天

    若要计算二个日期经过几月又几天,需要考虑期间每个月份的天数,每个月的天数是不一样的. 所以我们可以先计算经过几个月,然后把起始日期累加异差月份数,再计算差异天数.         Dim oDate1 ...

  6. C语言:编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递

    /*编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递*/ #include<stdio.h> #define N 4 #define M 3 int findmax(int ( ...

  7. JavaScript:实现计算二维平面上两点之间的距离算法(附完整源码)

    JavaScript:实现计算二维平面上两点之间的距离算法 /*Calculate the mathematical properties involving coordinatesCalculate ...

  8. 梯度下降计实例计算(二维)

    梯度下降计实例计算(二维) 文章目录 内容简介 示例说明 绘制曲线 进一步讨论 参考资料 内容简介 梯度下降是在机器学习中重要的计算内容.本文就一个具体的示例,展示如何在梯度下降中. 示例说明 设损失 ...

  9. 分别计算二维数组主对角线元素与辅对角线元素的和。

    知识点:理解对角线与熟悉二维数组的下标. 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等 ...

最新文章

  1. jQueryui autocomplete使用示例
  2. C#中Finalize方法的问题
  3. doxygen注释规范示例(C++)
  4. android string json,安卓之String json解析
  5. Navicat工具导出Mysql数据表结构到Excel文件中
  6. C#LeetCode刷题之#852-山脉数组的峰顶索引(Peak Index in a Mountain Array)
  7. spring定时任务执行两次的原因与解决方法
  8. 进阶08 Collections实现类、Comparator比较器接口
  9. javascript实现跳转菜单
  10. hql 占位符_hibernate中如何使用占位符拼接HQL
  11. 公司股权结构设计的原则与因素
  12. Windows7系统怎么给文件夹加密?
  13. 日语输入法的输入规则
  14. 登录网络计算机提示用户名错误,局域网访问共享时提示登录失败:未知的用户名或错误密码 怎么回事...
  15. 通过 irp 请求包删除文件
  16. Win 10 宽带拨号,连接失败,提示错误1058
  17. apos mysql_启动MySQL报错:ERROR 2003 (HY000): Canapos;t connect to MySQL server on apos;localhostapos;...
  18. 磁力小伙伴,配合使用效果极佳!
  19. Hibernate学习总结(5)——一对多的级联操作
  20. 2019春c语言程序设计答案,C语言程序设计(2019春)知到章节答案

热门文章

  1. SEO优化最优质的发外链平台
  2. 你知道SoS思维吗?
  3. 2020年美容师(技师)考试及美容师(技师)考试试卷
  4. 硬盘里的文件破损怎么恢复丨顶尖数据恢复丨
  5. 市值暴跌的名创优品,回港上市能给它救赎吗?
  6. 华为鸿蒙os手机系统下载,华为鸿蒙2.0还原EMUI11系统
  7. 做数据时代的加油站,ShardingSphere 为易车数据库架构演进提供新动力
  8. 计算机二级报名时间2020年12月江苏省,江苏省本省市2020上半年计算机二级报名时间|网上报名入口【12月17日12时开通】...
  9. openstack 无法创建新虚拟机报错 openstack报错:Host is not mapped to any cell
  10. C++ 数据的方差计算【均值、方差标准差】