如何計算Java date與Mysql的date類型的時間間隔?
天蓬老师
天蓬老师 2017-06-20 10:05:43
0
1
872

資料表裡有個欄位存放的是MySQL的date類型,每次讀出的時候要計算和目前時間的間隔是多少天,取得目前時間我比較清楚,但是如何將Mysql讀出的date資料轉換格式然後計算時間間隔就不太懂了,下面是我照自己的理解寫的程式碼,請大家看看是不是對的。 info.get(15)是從資料庫讀出的date資料

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String Time1 = sdf.format(new Date());
String Time2 = info.get(15).toString;
        
try {
    cal.setTime(sdf.parse(Time1));
    } catch (ParseException e) {
        e.printStackTrace();
    }
    
long oldTime = cal.getTimeInMillis();
    
try {
    cal.setTime(sdf.parse(Time2));
    } catch (ParseException e) {
        e.printStackTrace();
    }
        
long now1 = cal.getTimeInMillis();
        
long days = (now1 - old) / (1000*3600*24);
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(1)
学习ing

最簡單的做法:

(System.currentTimeMillis() - info.getDate().getTime()) / 86400000

另外,如果碰到時區問題,可能會比較頭疼,最徹底的解決辦法是資料庫裡所有的日期都存為BIGINT類型,把Date.getTime()(以毫秒為單位的UNIX時間戳)的值存進去。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板