`

JAVA计算工作日复杂算法:依赖假期配置

 
阅读更多

公司制度比较奇葩,每周5.5工作日,从周一上到周六中午,周六下午和周日休息,不吐槽了。

计算工作日就比较麻烦,不能通过简单的周一到周五,来判断(因为该模块会应用到请假单,扣工资。。。)

一、将假期配置表

{

private String holidayName;

private Integer week;

private String holidayStartDate;

private String holidayEndDate;

private String holidayStartTime;

private String holidayEndTime;

private Integer breakDown;

}

 

测试配置:

    private List<HrHolidayCalendar> getHrHolidayCalendarList() {
        List<HrHolidayCalendar> s = new ArrayList<>();

        s.add(getHrHolidayCalendar("周六", 7, null, null, "13:30:00", "18:00:00", 0));
        s.add(getHrHolidayCalendar("周日", 1, null, null, null, null, 0));
        s.add(getHrHolidayCalendar("端午节", null, "2018-06-16", "2018-06-18", null, null, 0));
        s.add(getHrHolidayCalendar("中秋节", null, "2018-09-22", "2018-09-24", null, null, 0));
        s.add(getHrHolidayCalendar("国庆节", null, "2018-10-01", "2018-10-07", null, null, 0));
        s.add(getHrHolidayCalendar("国庆调休", null, "2018-09-29", "2018-09-30", null, null, 1));

        return s;

    }

    private HrHolidayCalendar getHrHolidayCalendar(String name, Integer week, String sDate, String eDate, String sTime, String eTime, Integer bd) {
        HrHolidayCalendar s = new HrHolidayCalendar();
        s.setHolidayName(name);
        s.setWeek(week);
        s.setHolidayStartDate(sDate);
        s.setHolidayEndDate(eDate);
        s.setHolidayStartTime(sTime);
        s.setHolidayEndTime(eTime);
        s.setBreakDown(bd);
        return s;

    }

 

  • 大小: 30.7 KB
  • 大小: 16.7 KB
  • 大小: 46.1 KB
  • 大小: 54.7 KB
0
0
分享到:
评论

相关推荐

    Java节假日算法(免费)

    Java 节假日算法是指在给定的日期范围内,计算包含假期的天数的算法。在这个算法中,我们可以看到三个类分别是 DateToDate、Vacation 和 WorkDate。下面我们将详细解释这个算法的实现过程。 首先,DateToDate 类中...

    算法:C语言实现(第1~4部分)答案

    通过深入理解和实践这些C语言实现的算法,你可以提高编程技能,理解算法的运行机制,为更复杂的编程挑战打下坚实的基础。在实际编程项目中,熟练掌握算法可以显著提升代码的效率和质量。因此,对于任何想要在IT领域...

    java算法全卷(包括基本算法和图算法)

    1. 排序算法:包括冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序等,理解它们的工作原理和时间复杂度是至关重要的。 2. 搜索算法:二分查找、线性查找、深度优先搜索(DFS)和广度优先搜索(BFS)是...

    java工作日计算(去除法定假日)

    通过以上步骤,我们可以构建一个功能完善的工作日计算系统,能够精确地计算出两个日期之间的工作日数量,同时考虑到了法定节假日的影响。这个过程涉及了文件读取、日期时间处理和自定义逻辑的实现,是Java开发中的一...

    Java数值计算算法源代码

    本资源"Java数值计算算法源代码"涵盖了复数运算、矩阵操作、线性方程组求解、非线性方程求解、插值法以及数值积分等多个关键领域,对于学习和实践Java数值计算具有很高的价值。 1. **复数运算**:复数是数学中的一...

    JAVA近百种算法大全

    4. Ford-Fulkerson算法:计算网络的最大流,解决分配问题。 五、动态规划 1. 背包问题:在容量限制下,选择物品以最大化价值。 2. 最长公共子序列:两个序列不需连续的最长相同子序列。 3. 编辑距离:衡量两个字符...

    java协同过滤推荐算法

    6. 扩展性:Java作为开源且跨平台的开发语言,拥有丰富的库支持,如Apache Mahout和Spark MLlib,可以方便地集成到大型分布式系统中,提高算法的处理能力和效率。 7. 机器学习角度:协同过滤是基于模型的机器学习...

    1204 Java 遗传算法排课java sqlserver.rar_java排课算法_排课_排课系统java_遗传算法Java

    2. **Java编程**:Java是一种跨平台的面向对象编程语言,具有丰富的库和工具,适用于开发复杂的应用程序,如本案例中的排课系统。Java的面向对象特性使得代码结构清晰,易于维护和扩展。 3. **SQL Server数据库**:...

    JAVA 抽奖算法,JAVA 抽奖算法·

    该JAVA抽奖算法主要通过定义一系列奖品的概率,并基于这些概率计算出具体的抽奖结果。算法能够处理不同数量和不同概率分布的奖品,使得整个抽奖过程更加灵活多变。下面将详细介绍该算法的工作原理、关键步骤以及实现...

    java高精度计算算法与分析

    2. 复杂性:java高精度计算可能会出现复杂性,因为需要设置保留的小数位数和圆整模式。 java高精度计算是一种非常重要的技术,可以应用于金融、科学计算、数据分析等领域。通过使用BigDecimal类和设置保留的小数...

    KrigingCore_java_克里金插值算法实现_克里金算法_

    在实际应用中,这个Java实现可能会提供接口供用户输入数据点和目标点,然后调用内部的克里金插值算法进行计算。为了提高效率和灵活性,代码可能还支持不同类型的克里金方法(如简单克里金、普通克里金、泛克里金等)...

    计算机算法设计与分析.pdf

    * 0/1 背包问题的分枝限界算法:介绍了0/1背包问题的分枝限界算法的定义、计算方法和应用场景。 * 电路板布线问题:介绍了电路板布线问题的定义、计算方法和应用场景。 第八章 NP-完全问题 * 算法的基本思想:...

    java算法书籍(英文版)

    - 排序算法:冒泡排序、插入排序、选择排序、快速排序、归并排序等,分析它们的优劣和适用场景。 - 搜索算法:线性搜索、二分搜索、深度优先搜索(DFS)、广度优先搜索(BFS)等。 - 动态规划:通过子问题的最优...

    FelEngine Java轻量级计算引擎依赖jar包

    FelEngine是一款专为Java设计的轻量级计算引擎,它被设计用于处理复杂的计算任务,同时提供高效的并行和分布式计算能力。这款引擎的核心目标是简化开发者在高性能计算领域的开发工作,使得开发者能够更专注于业务...

    java数值计算算法编程

    在Java中,数值计算涵盖了广泛的算法和技术,包括基本的算术运算、复杂数学函数、线性代数、微积分、概率统计等。本主题将深入探讨这些知识点,帮助开发者掌握在Java环境中进行复杂计算的方法。 1. **基本数据类型...

    java国密算法实现

    在描述的链接中,你可以找到如何在Java中使用SM3算法进行哈希计算的详细步骤。 在实际应用中,通常会结合SM2和SM3算法,利用SM2进行非对称加密和数字签名,而SM3则用于生成签名的摘要,确保数据的完整性和来源的不...

    Java 算法PDF版

    从给定的文件信息来看,标题“Java算法PDF版”暗示了这是一份关于Java编程语言中的算法应用和实现的资料。尽管描述部分没有提供太多具体的信息,仅表达了分享的意愿,但我们可以根据标题和可能包含的内容来深入探讨...

    工作日算法又称节假日算法。 由于工作日计算涉及农历节气等,而农历算法本身就是非常复杂的,所以工作日算法非常的复杂

    由于工作日计算涉及农历节气等,而农历算法本身就是非常复杂的,所以工作日算法非常的复杂 。 该算法解决了工作日的计算问题。对以往的数据确保其准确性,对将来的数据提供尽可能准确的 预测。 由于未来的数据是...

    银行家算法模拟程序JAVA实现

    这涉及到计算剩余资源和进程的未完成工作量。 3. **安全性检查**: 这是银行家算法的核心,通过寻找一个安全序列,即一个进程顺序执行直到完成都不会导致系统资源不足的序列。算法遍历所有可能的进程执行顺序,检查...

    java mrp算法实现

    【Java MRP算法实现】是基于Java编程语言构建的一个现代物料需求计划(Material Requirements Planning,简称MRP)系统。MRP系统是企业资源规划(ERP)的重要组成部分,它主要用于优化企业的生产计划,确保在正确的...

Global site tag (gtag.js) - Google Analytics