首页 > 其他 > 详细

时间范围占比工具类

时间:2020-02-14 20:33:56      阅读:71      评论:0      收藏:0      [点我收藏+]
   /**
     * 时间范围占比
     *
     * @param st  开始时间戳
     * @param et  结束时间戳
     * @param cst 对比开始时间戳
     * @param cet 对比结束时间戳
     * @return 占比
     * @author liushouyun
     */
    public static Tuple2<Integer, Double> proportionOfTimeRange(long st, long et, long cst, long cet) {
        double stMax = st;
        double enMin = et;
        boolean stFlag = false;
        boolean etFlag = false;
        if (st <= cst) {
            stFlag = true;
            stMax = cst;
        }
        if (et >= cet) {
            etFlag = true;
            enMin = cet;
        }
        Tuple2<Integer, Double> tuple2;
        if ((enMin - stMax) <= 0) {
            tuple2 = Tuples.of(0, 0.0);
        } else if (stFlag && etFlag) {
            tuple2 = Tuples.of(1, OperationUtil.div((enMin - stMax), (et - st)));
        } else {
            tuple2 = Tuples.of(2, OperationUtil.div((enMin - stMax), (cet - cst)));
        }
        return tuple2;
    }

 

时间范围占比工具类

原文:https://www.cnblogs.com/lsy131479/p/12309221.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!