Java計算日期之間相差時間和解決浮點型別精度過長
阿新 • • 發佈:2021-12-20
計算日期之間相差
此處相差計算以分鐘為單位,自行可根據業務場景更改
/** * 測試時間相差分鐘 */ @Test public void getTime() { SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); simpleDateFormat.applyPattern(DateUtils.NOW_H); // 加減時間 單位(分鐘) long time2 = 30 * 60 * 1000; //30 分鐘 // 當前時間 String format = simpleDateFormat.format(newDate().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); }