1. 程式人生 > >java中把UTC時間戳(System.currentTimeMillis())轉化為代表日期的整數

java中把UTC時間戳(System.currentTimeMillis())轉化為代表日期的整數

背景

在向資料庫中儲存日期時,很多時候習慣於儲存一個整數,也就是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();