1. 程式人生 > >Java對時間日期的各類操作

Java對時間日期的各類操作

看自己需求找對應模組

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

//時間類
public class Date {

    public static void main(String[] args) {
        //LocalDate是一個不可變類,在不考慮時區的情況下可以對日期(不包括時間)進行各種操作,它的預設格式是yyyy-MM-dd
        //獲取當前日期以及年、月、日
       /* LocalDate localDate = LocalDate.now();
        int year = localDate.getYear();
        int month = localDate.getMonthValue();
        int day = localDate.getDayOfMonth();
        System.out.println("當前日期:" + localDate);
        System.out.println("年:" + year + "  月:" + month + "  日:" + day);
*/
        //獲取指定的日期
       /* LocalDate specifiedDay = LocalDate.of(2008, 8, 18);
        System.out.println("指定日期:" + specifiedDay);
*/

        // 比較兩個時間的先後順序以及是否相等
        /*LocalDate localDate = LocalDate.now();//當前日期
        LocalDate otherDate = LocalDate.of(2018, 12, 15);
       //equals方法用於比較兩個日期是否相等
        if(localDate.equals(otherDate)) {
            System.out.println("localDate與otherDate相等!");
        } else {
            //isAfter和isBefore方法用於比較兩個日期前後順序
            if(localDate.isAfter(otherDate)) {
                System.out.println("localDate晚於otherDate!");
            }
            if(localDate.isBefore(otherDate)) {
                System.out.println("localDate早於otherDate!");
            }
        }*/


        //對日期做加減運算
        /*LocalDate localDate = LocalDate.now();
        System.out.println("2年後日期:" + localDate.plusYears(2));
        System.out.println("6月後日期:" + localDate.plusMonths(6));
        System.out.println("3周後日期:" + localDate.plusWeeks(3));
        System.out.println("15天后日期:" + localDate.plusDays(15));

        System.out.println("2年前日期:" + localDate.minusYears(2));
        System.out.println("6月前日期:" + localDate.minusMonths(6));
        System.out.println("3周前日期:" + localDate.minusWeeks(3));
        System.out.println("15天前日期:" + localDate.minusDays(15));*/

        //獲取日期間隔的天數
        //獲取某年份的第N天的日期
        /*LocalDate localDate = LocalDate.now();
        LocalDate specialDay = LocalDate.ofYearDay(2018, 100);
        System.out.println("2018年的第100天:" + specialDay);
         //獲取兩個日期的間隔天數
        long intervalDay = localDate.toEpochDay() - specialDay.toEpochDay();
        System.out.println("間隔天數: " + intervalDay);*/


        //LocalTime與LocalDate一樣,也是一個不可變的類,預設格式是hh:mm:ss.zzz,它提供了對時間的各種操作
        //獲取當前時間、時、分、秒以及自定義時間
       /* LocalTime localTime = LocalTime.now();
        int hour = localTime.getHour();
        int minute = localTime.getMinute();
        int second = localTime.getSecond();
        System.out.println("當前時間:" + localTime);
        System.out.println("時:" + hour + "  分:" + minute + "  秒:" + second);
*/
        //獲取自定義時間,比較兩個時間的先後順序
   /*      LocalTime localTime = LocalTime.now();
        LocalTime specifiedTime = LocalTime.of(3, 30, 45);
        System.out.println("自定義時間:" + specifiedTime);
       //equals方法比較兩個時間是否相等
        if(localTime.equals(specifiedTime)) {
            System.out.println("localTime與specifiedTime相等!");
        } else {
            //isAfter、isBefore方法比較兩個時間的先後順序
            if(localTime.isAfter(specifiedTime)) {
                System.out.println("localTime晚於specifiedTime!");
            }
            if(localTime.isBefore(specifiedTime)) {
                System.out.println("localTime早於specifiedTime!");
            }
        }

*/

//對時間做加減運算
       /* LocalTime localTime = LocalTime.now();
        System.out.println("當前時間:" + localTime);
        System.out.println("2小時後時間:" + localTime.plusHours(2));
        System.out.println("30分鐘後時間:" + localTime.plusMinutes(30));
        System.out.println("500秒後日時間:" + localTime.plusSeconds(500));

        System.out.println("2小時前時間:" + localTime.minusHours(2));
        System.out.println("30分鐘前時間:" + localTime.minusMinutes(30));
        System.out.println("500秒前時間:" + localTime.minusSeconds(500));
*/


        //LocalDateTime是一個不可變的日期-時間物件,它既包含了日期同時又含有時間,預設格式是yyyy-MM-ddTHH-mm-ss.zzz
//獲取當前日期時間以及自定義日期時間
        //獲取當前的日期時間
       /* LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("當前的日期時間:" + localDateTime);
*/
        //獲取自定義的的日期時間
       /* LocalDateTime localDateTime = LocalDateTime.now();
        LocalDateTime specifiedDateTime = LocalDateTime.of(LocalDate.now(), LocalTime.now());
        System.out.println("自定義的日期時間:" + specifiedDateTime);
*/

        //轉化為日期和時間
        //轉化為LocalDate和LocalTime
       /* LocalDateTime localDateTime = LocalDateTime.now();
        LocalDate localDate = localDateTime.toLocalDate();
        LocalTime localTime = localDateTime.toLocalTime();
        System.out.println("當前日期:" + localDate);
        System.out.println("當前時間:" + localTime);*/


    }


}