Java时间去掉节假日周末计算工作时间的方式

记录一下根据时间区间计算工作时间,同时去掉节假日周六日

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.*;
import java.util.ArrayList;
import java.util.List;

/**
 * 工作时间计算
 *
 * @author
 * @description:
 * @date
 */
public class WorkTimeCalculate {
   
    /**
     * 上班时间
     */
    private static final LocalTime WORKING_START_TIME = LocalTime.of(9, 0);
    /**
     * 下班时间
     */
    private static final LocalTime WORKING_END_TIME = LocalTime.of(17, 0);
    /**
     * 午休开始时间
     */
    private static final LocalTime NOON_BREAK_START_TIME = LocalTime.of(12, 0);
    /**
     * 午休结束时间
     */
    private static final LocalTime NOON_BREAK_END_TIME = LocalTime.of(14, 0);
    /**
     * 调休日:非周末但是休息的日期列表
     */
    private static final List<LocalDate> holidays = new ArrayList<>();
    /**
     * 补班日:周末但是上班的日期
     */
    private static final List<LocalDate> workdays = new ArrayList();

    //初始化调休日和补班日   后面可考虑从数据库查
    static {
   
        //调休日
        holidays.add(LocalDate.of(2022, 1, 3));
        holidays.add(LocalDate.of(2022, 1, 31));
        holidays.add(LocalDate.of(2022, 2, 1));
        holidays.add(LocalDate.of(2022, 2, 2));
        holidays.add(LocalDate.of(2022, 2, 3));
        holidays.add(LocalDate.of(2022, 2, 4));
        holidays.add(LocalDate.of(2022, 4, 4));
        holidays.add(LocalDate.of(2022, 4, 5));
        holidays.add(LocalDate.of(2022, 5, 2));
        holidays.add(LocalDate.of(2022, 5, 3));
        holidays.add(LocalDate.of(2022, 5, 4));
        holidays.add(LocalDate.of(2022, 6, 3));
        holidays.add(LocalDate.of(2022, 9, 12));
        holidays.add(LocalDate.of(2022, 10, 3));
        holidays.add(LocalDate.of(2022, 10, 4));
        holidays.add(LocalDate.of(2022, 10, 5));
        holidays.add(LocalDate.of(2022, 10, 6));
        holidays
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值