公司制度比较奇葩,每周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; }
相关推荐
本资源"Java数值计算算法源代码"涵盖了复数运算、矩阵操作、线性方程组求解、非线性方程求解、插值法以及数值积分等多个关键领域,对于学习和实践Java数值计算具有很高的价值。 1. **复数运算**:复数是数学中的一...
6. 扩展性:Java作为开源且跨平台的开发语言,拥有丰富的库支持,如Apache Mahout和Spark MLlib,可以方便地集成到大型分布式系统中,提高算法的处理能力和效率。 7. 机器学习角度:协同过滤是基于模型的机器学习...
FelEngine是一款专为Java设计的轻量级计算引擎,它被设计用于处理复杂的计算任务,同时提供高效的并行和分布式计算能力。这款引擎的核心目标是简化开发者在高性能计算领域的开发工作,使得开发者能够更专注于业务...
2. 复杂性:java高精度计算可能会出现复杂性,因为需要设置保留的小数位数和圆整模式。 java高精度计算是一种非常重要的技术,可以应用于金融、科学计算、数据分析等领域。通过使用BigDecimal类和设置保留的小数...
1. C4.5算法:C4.5是ID3算法的升级版,由Ross Quinlan开发。它是一种决策树学习算法,通过信息增益率来选择最优特征进行划分。C4.5可以处理连续值和缺失值,适用于分类任务。在Java中,我们可以使用Weka库...
通过使用iceworkday,用户可以避免手动处理复杂的日期和工作日计算,减少人为错误,提高工作效率。此外,由于iceworkday考虑到了公共假期和自定义的非工作日,因此对于那些需要根据特定地区或组织规则调整工作日计算...
在Java中实现这些算法,我们需要将数学模型转化为可执行的代码,可能涉及数值计算、数据结构(如数组、链表)和复杂逻辑控制。 "Java程序自动调洪,试算法"可能包含以下关键组件: 1. **数据输入模块**:收集和...
- 在Java中实现slopeone算法,需要维护用户-物品的评分矩阵,并计算每个用户对不同物品的评分差异。这个过程涉及到大量的数据处理和计算,Java的面向对象特性可以很好地支持此类任务。 2. **SVD (奇异值分解)**: ...
3DES 算法是一种基于对称加密的算法,使用双倍长密钥来计算工作密钥、PIN 密钥和 MAC 值。下面是关于 3DES 算法计算 MAC 的知识点: 1. 什么是 3DES 算法? 3DES 算法是基于 DES 算法的一种变种,使用三重 DES ...
【Java MRP算法实现】是基于Java编程语言构建的一个现代物料需求计划(Material Requirements Planning,简称MRP)系统。MRP系统是企业资源规划(ERP)的重要组成部分,它主要用于优化企业的生产计划,确保在正确的...
在Java中,数值计算涵盖了广泛的算法和技术,包括基本的算术运算、复杂数学函数、线性代数、微积分、概率统计等。本主题将深入探讨这些知识点,帮助开发者掌握在Java环境中进行复杂计算的方法。 1. **基本数据类型...
在实际开发过程中,需要注意性能和效率的问题,因为同态加密通常比传统的对称加密或非同态加密算法更为复杂,可能会消耗更多计算资源。因此,优化代码和选择合适的硬件环境对于实现高效且可靠的同态加密系统至关重要...
从给定的文件信息来看,标题“Java算法PDF版”暗示了这是一份关于Java编程语言中的算法应用和实现的资料。尽管描述部分没有提供太多具体的信息,仅表达了分享的意愿,但我们可以根据标题和可能包含的内容来深入探讨...
Java作为一种广泛使用的编程语言,非常适合实现这种复杂的算法,如遗传算法(Genetic Algorithm)。遗传算法是一种模拟自然选择和遗传的全局优化方法,通过迭代过程寻找近似最优解。 在这个Java实现的遗传算法解决...
Tea算法在Java中的实现不仅展示了其算法逻辑的精妙之处,还体现了Java语言在处理复杂数据结构和算法实现方面的强大能力。通过对Tea算法的深入分析,我们不仅理解了其工作原理,也看到了在实际应用中如何通过编程技巧...
java代码先获取全年的周末周日,定义全年的法定节假日,然后根据输入的日期计算,当前日期后的工作日,也可以用于计算工作日
在这个讨论中,我们将深入探讨kNN算法的工作原理、在Java中实现的细节以及可能遇到的问题。 首先,让我们理解kNN算法的基本概念。kNN算法的核心思想是计算待分类样本与训练集中所有样本的距离,然后选取距离最近的k...
在Java编程环境中,进行复杂的数学计算和统计分析是一项常见的任务。Apache Commons Math3库,作为JAVA数学计算包,为开发者提供了强大的工具,使得在Java中进行统计学运算变得简单易行。这个库不仅涵盖了数据概述、...
CRC16校验算法及十六进制和十六进制字符串转换
智能算法在信息技术领域中扮演着重要的角色,它们用于解决复杂优化问题,如组合优化、机器学习、网络路由等。遗传算法、蚁群算法和粒子群优化算法是智能算法中的典型代表,这三种算法都受到自然界生物行为的启发,...