java中把UTC時間戳(System.currentTimeMillis())轉化為代表日期的整數
阿新 • • 發佈:2019-01-06
背景
在向資料庫中儲存日期時,很多時候習慣於儲存一個整數,也就是java裡的System.currentTimeMillis(),這個數字精確到了毫秒級。如果我們不想要這麼精確呢,比如只想精確到小時、日期等等。利用Calendar可以輕鬆達到這個目的。
方法
首先把Calendar物件clear一下,然後,設定必要的欄位即可(也可以反過來想,把不想要的欄位clear掉。)。比如,只精確到日期,可利用如下轉換:
long time = xxxx; //先解析給定的時間 Calendar c = Calendar.getInstance(); c.setTimeInMillis(time); Calendar date = Calendar.getInstance(); //清除所有資料 date.clear(); date.set(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)); long result = date.getTimeInMillis();