JDK1.8 新的時間和日期API

java.time包下,主要的幾個final修飾的類:java

  • LocalDate:年月日
  • LocalTime:時分秒
  • LocalDateTime:年月日時分秒
  • Instant:時間戳
  • Duration:時間段

Demo:code

public static void main(String[] args){orm

** //1.LocalDate 年月日**

    //當前系統日期(年月日)
	Date localDate = LocalDate.now();
    System.out.println(localDate); // 2019-12-17
    //獲取年、月、日、星期
    System.out.println(
            "年:" + localDate.getYear() + ",月:" + localDate.getMonth() + "/" + localDate.get(ChronoField.MONTH_OF_YEAR) + ",日:"
                    + localDate.getDayOfMonth() + ",星期:" + localDate.getDayOfWeek() + "/" + localDate.get(ChronoField.DAY_OF_WEEK)
    ); //年:2019,月:DECEMBER/12,日:17,星期:TUESDAY/2

    //構造某個日期
    System.out.println(LocalDate.of(2019,12,12)); //2019-12-12

  **  //2.LocalTime  時分秒**
    //當前系統時分秒
    LocalTime localTime = LocalTime.now();
    System.out.println(localTime); //10:48:54.036
    //獲取時、分、秒
    System.out.println(
            "時:" + localTime.getHour() + "/" + localTime.get(ChronoField.HOUR_OF_DAY) +
                    ",分:" + localTime.getMinute() + "/" + localTime.get(ChronoField.MINUTE_OF_HOUR) +
                    ",秒:" + localTime.getSecond() + "/" + localTime.get(ChronoField.SECOND_OF_MINUTE)
    ); //時:11/11,分:13/13,秒:56/56

    //構造某個時分秒
    System.out.println(LocalTime.of(11,11,11)); //11:11:11

  **  //3.LocalDateTime 至關於LocalDate + LocalTime**
    //當前系統時間(到毫秒)
    System.out.println(LocalDateTime.now()); //2019-12-17T10:48:54.036
    //構造時間
    System.out.println(LocalDateTime.of(2019, Month.DECEMBER,17,12,12,12)); //2019-12-17T12:12:12

    //當前系統時間(根據自定義根式顯示)
    System.out.println(
            LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")) //2019-12-17 10:49:49
    );

    **//4.時間戳,精確到納秒**
    Instant instant = Instant.now();
    System.out.println(instant); //2019-12-17T02:55:10.736Z

    //獲取秒數
    long currentSecond = instant.getEpochSecond();
    System.out.println(currentSecond); //1576551247

    //獲取毫秒數
    long currentMilli = instant.toEpochMilli(); //1576551247168
    System.out.println(currentMilli);

   ** //5.Duration 表示一個時間段**
    LocalDateTime start = LocalDateTime.of(2018,Month.FEBRUARY,01,00,00,00);    // 2018-02-01T00:00
    LocalDateTime end = LocalDateTime.of(2019,Month.DECEMBER,31,23,59,59);     // 2019-12-31T23:59:59
    Duration duration = Duration.between(start, end);     // 表示從 start 到 end 這段時間
    long days = duration.toDays();
    System.out.println("這段時間的總天數:" + days);//698
    long hours = duration.toHours();
    System.out.println("這段時間的小時數 : " + hours);//16775
    long minutes = duration.toMinutes();
    System.out.println("這段時間的分鐘數:" + minutes);//1006559
    long seconds = duration.getSeconds();
    System.out.println("這段時間的秒數:" + seconds);//60393599
    long milliSeconds = duration.toMillis();
    System.out.println("這段時間的毫秒數:" + milliSeconds);//60393599000
    long nanoSeconds = duration.toNanos();
    System.out.println("這段時間的納秒數:" + nanoSeconds);//60393599000000000
}
相關文章
相關標籤/搜索