Java计算日期之间相差时间和解决浮点类型精度过长
计算日期之间相差
此处相差计算以分钟为单位,自行可根据业务场景更改
/** * 测试时间相差分钟 */ @Test public void getTime() { SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); simpleDateFormat.applyPattern(DateUtils.NOW_H); // 加减时间 单位(分钟) long time2 = 30 * 60 * 1000; //30 分钟 // 当前时间 String format = simpleDateFormat.format(new Date().getTime()+time2); String oldFormat = "2021-12-18 9:31"; try { long time = simpleDateFormat.parse(format).getTime(); long oldTime = simpleDateFormat.parse(oldFormat).getTime(); // 相差时间 单位:(分钟) int m = (int) ((time-oldTime)/(1000*60)); System.out.println("==================="+m); } catch (ParseException e) { e.printStackTrace(); } }
解决浮点型精度过长
注意:此处的精度保留小数点后两位,浮点过长的浮点类型必须是包装类,否则无效
/** * 测试金额精度过长 */ @Test public void getMoney() { Double awardMoney = 23.12587994587887; Float awardMoney2 = 23.12587994587887F; awardMoney = Math.round(awardMoney * 100 ) / 100D; awardMoney2 = Math.round(awardMoney2 * 100 ) / 100F; System.out.println("Double"+awardMoney); System.out.println("Float"+awardMoney2); }
无论风雨,和自己一决胜负吧