Java中的日期操作

關(guān)于日期操作

涉及其他操作的話,以后逐步完善

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        //獲取當(dāng)前時間
        System.out.println("獲取當(dāng)前日期date:" + date);
        //獲取當(dāng)前年月日時分秒
        int yearNum = calendar.get(Calendar.YEAR);
        //獲取月份從0開始計算,不是從1開始
        int monthNum = calendar.get(Calendar.MONTH);
        int dateNum = calendar.get(Calendar.DATE);
        int hourNum = calendar.get(Calendar.HOUR);
        int minuteNum = calendar.get(Calendar.MINUTE);
        int secondNum = calendar.get(Calendar.SECOND);
        System.out.println(yearNum + "||" + monthNum + "||" + dateNum);
        System.out.println(hourNum + "||" + minuteNum + "||" + secondNum);

        //月份是從0開始計算的,如果是一月的話獲得的值是0,12月值是11
        calendar.add(Calendar.MONTH, 1);
        //按照指定的日期格式化
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
        System.out.println(format.format(calendar.getTime()));
        //手動設(shè)置calendar的時間
        calendar.set(2000, 0, 12, 00, 01, 12);
        System.out.println(calendar.getTime());
        System.out.println("--------------------------------------------------------------");
        /**
         * add進(jìn)行計算,年份也會跟著變化
         * roll進(jìn)行計算,年份不會跟著變化,月份只會按周期循環(huán)變化
         */
        Calendar cal1 = Calendar.getInstance();
        cal1.set(2003, 7, 23, 0, 0, 0); // 2003-8-23
        cal1.add(Calendar.MONTH, 6); //2003-8-23 => 2004-2-23
        System.out.println(cal1.getTime());

        Calendar cal2 = Calendar.getInstance();
        cal2.set(2003, 7, 31, 0, 0, 0); // 2003-8-31
        // 因為進(jìn)位到后月份改為2月,2月沒有31日,自動變成29日
        cal2.add(Calendar.MONTH, 6); // 2003-8-31 => 2004-2-29
        System.out.println(cal2.getTime());

        Calendar cal3 = Calendar.getInstance();
        cal3.set(2003, 7, 23, 0, 0, 0); //2003-8-23
        // MONTH字段“進(jìn)位”,但YEAR字段并不增加
        cal3.roll(Calendar.MONTH, 6); //2003-8-23 => 2003-2-23
        System.out.println(cal3.getTime());

        Calendar cal4 = Calendar.getInstance();
        cal4.set(2003, 7, 31, 0, 0, 0); //2003-8-31
        // MONTH字段“進(jìn)位”后變成2,2月沒有31日,
        // YEAR字段不會改變,2003年2月只有28天
        cal4.roll(Calendar.MONTH, 6); //2003-8-31 => 2003-2-28
        System.out.println(cal4.getTime());
        System.out.println("----------------延后計算時間----------------------------------------------");
        Calendar cal5 = Calendar.getInstance();
        //如果set的2月份沒有31天,則自動往后推算一個月,按照三月份計算,所以打印出來是三月份
        cal5.set(2020, 1, 31);
        System.out.println("1.cal5:" + cal5.getTime());

    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容