Java 實例 - 使用Calendar計算時間

Java實例大全

    @Test
    public void test4(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        /*
         * 獲取15天后是多少號?
         *
         * add(int field,int n)
         * 爲當前calendar指定時間分量上累加給定值
         * 若傳入的是負數,則是累減
         */
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_YEAR, 15);  //給當前時間加15天
        //System.out.println(calendar.getTime());
        System.out.println(sdf.format(calendar.getTime()));


        /*
         * 三個月零十天後的那周的星期三是幾號?
         */
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, 3); //給當前時間加3個月
        cal.add(Calendar.DAY_OF_YEAR, 10);  //給當前時間加10天
        //得出三個月十天後的日期,然後將日期設爲當週星期三
        cal.set(Calendar.DAY_OF_WEEK, 4); //1是周天,所以4是週三
        //System.out.println(cal.getTime());
        System.out.println(sdf.format(cal.getTime()));


        /*
         * 獲取某個時間分量所允許的最大值
         * 獲取今年最大天數
         */
        Calendar cal1 = Calendar.getInstance();
        int days = cal1.getActualMaximum(Calendar.DAY_OF_YEAR);
        System.out.println("今年最大天數爲:"+days+"天");

        /*
         * 一週的第一天是星期日
         * 獲取當前是星期幾
         */
        Calendar cal2 = Calendar.getInstance();
        int w = cal2.get(Calendar.DAY_OF_WEEK);
        System.out.println("今天是星期:"+(w==1?7:w-1));
    }

結果:

/*
 * 獲取15天后是多少號?
 */
2019-10-29 14:25:59
/*
 * 三個月零十天後的那周的星期三是幾號?
 */
2020-01-22 14:25:59
/*
 * 獲取今年最大天數
 */
今年最大天數爲:365天
/*
 * 獲取當前是星期幾
 */
今天是星期:1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章