如何計算Java date與Mysql的date類型的時間間隔?
問題描述
數據表里有個字段存放的是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:最簡單的做法:
(System.currentTimeMillis() - info.getDate().getTime()) / 86400000
另外,如果碰到時區問題,可能會比較頭疼,最徹底的解決辦法是數據庫里所有的日期都存為BIGINT類型,把Date.getTime()(以毫秒為單位的UNIX時間戳)的值存進去。
相關文章:
1. 老哥們求助啊2. javascript - vue-router怎么不能實現跳轉呢3. python - 模擬滑動驗證碼,有源碼,求解4. 就一臺服務器,mysql數據庫想實現自動備份,如何設計?5. 在MySQL中新增字段時,報錯??6. npm鏡像站全新上線7. css3 - 請問一下在移動端CSS布局布局中通常需要用到哪些元素,屬性?8. java - 想使用別人項目中maven引入的jar包,就是那個.class文件,要怎么操作?9. java - 安卓電視盒子取得了root權限但是不能安裝第三方應用,請問該怎么辦?10. html5 - angularjs中外部模版加載無法使用
