时间工具类

本文介绍了一个用于调整时间范围的算法,该算法通过计算输入的时间段(如08:00:00-10:00:00),并将其调整为更精确的小范围(例如09:00:00-09:00:01),以用于统计迟到打卡等场景。此算法使用Java实现,并详细解释了如何通过日期对象和时间戳来完成这一转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    /**
     * 扩大时间段区间(统计迟到打卡)
     *
     * @param beginTime
     * @param endTime
     * @return 08:00:00-10:00:00 -> 09:00:00-09:00:01
     * @throws ParseException
     */
    public static String[] calcTime(String beginTime, String endTime)
            throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        Date date1 = sdf.parse(beginTime);
        Date date2 = sdf.parse(endTime);
        long diff = date2.getTime() - date1.getTime();
        long sdate1 = date1.getTime() + diff / 2;
        long sdate2 = date2.getTime() + 1000 - diff / 2;
        Date ssdate1 = new Date(sdate1);
        Date ssdate2 = new Date(sdate2);
        String[] bigTimes = { sdf.format(ssdate1), sdf.format(ssdate2) };
        return bigTimes;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值