Java计算一个时间段与当前时间的进度百分比

 Date nowDate = new Date();  //当前时间
 Date startDate = p.getPro().getStartDate(); //开始时间
 Date endDate = p.getPro().getEndDate(); //结束时间
 if (nowDate.getTime() <= startDate.getTime()) {                //未开始项目进度设置为0
     p.setTotalProgress(0L);
 } else if (nowDate.getTime() >= endDate.getTime()) {         //已结束项目进度设置为100
     p.setTotalProgress(100L);
 } else {
     //结束时间和开始时间中间的天数
     Double a = (double) ((endDate.getTime() - startDate.getTime()) / (1000 * 3600 * 24));
     //当前时间和开始时间中间的天数
     Double b = (double) ((nowDate.getTime() - startDate.getTime()) / (1000 * 3600 * 24));
     //计算百分比存入
     p.setTotalProgress(Math.round(b / a * 100));
 }
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要将js计算时间段转换为一日时间百分比,可以进行以下步骤: 1. 确定时间区间:首先需要确定时间段的起始时间和结束时间。 2. 计算每个时间点所在的时间段:将时间段分为若干个等长的时间段,例如将一天分为24个时间段,每个时间段为1小时。然后对于起始时间和结束时间计算它们分别处于哪个时间段中。 3. 计算每个时间段所占的时间:对于起始时间所处的时间段计算时间段结束时间与起始时间时间差;对于结束时间所处的时间段计算时间段起始时间与结束时间时间差;对于中间的时间段计算时间段的持续时间。 4. 计算每个时间段所占的百分比:统计每个时间段内的数据值之和,计算出每个时间段所占的时间百分比。 5. 绘制时间堆积图:使用echarts等工具绘制时间堆积图,并将每个时间段百分比作为数据展示在图表上。 举个例子,如果时间段为从2022年1月1日 10:00:00到2022年1月2日 10:00:00,将这段时间分为24个时间段,每个时间段为1小时。如果在这个时间段内,第1个小时的数据值为10,第2个小时的数据值为20,第3个小时的数据值为15,那么第1个小时所占的时间为1小时,第2个小时所占的时间为1小时,第3个小时所占的时间为1小时。然后将每个时间段内的数据值之和除以总持续时间24小时,计算出每个时间段所占的百分比。最后将这些百分比作为数据展示在时间堆积图上,即可得到每小时所占的时间百分比
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值