如何計算Java date與Mysql的date類型的時間間隔?
問題描述
數(shù)據(jù)表里有個字段存放的是MySQL的date類型,每次讀出的時候要計算和當(dāng)前時間的間隔是多少天,獲取當(dāng)前時間我比較清楚,但是如何將Mysql中讀出的date數(shù)據(jù)轉(zhuǎn)換格式然后計算時間間隔就不太懂了,下面是我按自己的理解寫的代碼,請大家看看是不是對的。info.get(15)是從數(shù)據(jù)庫中讀出的date數(shù)據(jù)
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
另外,如果碰到時區(qū)問題,可能會比較頭疼,最徹底的解決辦法是數(shù)據(jù)庫里所有的日期都存為BIGINT類型,把Date.getTime()(以毫秒為單位的UNIX時間戳)的值存進(jìn)去。
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.3. Span標(biāo)簽4. javascript - 請教空白文本節(jié)點的問題5. extra沒有加載出來6. css - 關(guān)于border-image7. mysql - 為什么where條件中or加索引不起作用?8. python - linux怎么在每天的凌晨2點執(zhí)行一次這個log.py文件9. mysql - php 如何網(wǎng)址中出現(xiàn)該頁標(biāo)題?10. django進(jìn)行數(shù)據(jù)庫的查詢
