时间范围占比工具类
Posted lsy131479
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间范围占比工具类相关的知识,希望对你有一定的参考价值。
/** * 时间范围占比 * * @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; }
以上是关于时间范围占比工具类的主要内容,如果未能解决你的问题,请参考以下文章