1. 程式人生 > 其它 >Java計算日期之間相差時間和解決浮點型別精度過長

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); }
無論風雨,和自己一決勝負吧