Java 本地日期時(shí)間

2018-03-12 14:04 更新

Java日期時(shí)間 - Java本地日期時(shí)間

本地日期

LocalDate 類表示沒有時(shí)間或時(shí)區(qū)的日期。

當(dāng)時(shí)間和時(shí)區(qū)相關(guān)時(shí)使用LocalDate。

LocalDate 類包含兩個(gè)常量,MAX和MIN。

MAX和MIN分別是最大和最小支持的LocalDate。

LocalDate.MAX為+ 999999999-12-31,LocalDate.MIN為-999999999-01-01。

以下代碼顯示如何創(chuàng)建 LocalDate 對(duì)象:

import java.time.LocalDate;
import java.time.Month;

public class Main {
  public static void main(String[] args) {
    // Get the current local date
    LocalDate localDate1  = LocalDate.now();
    System.out.println(localDate1);
    // Create a  local date
    LocalDate localDate2  = LocalDate.of(2014, Month.JUNE, 21);
    System.out.println(localDate2);
    // 10000  days after the epoch date 1970-01-01
    LocalDate localDate3  = LocalDate.ofEpochDay(10000);
    System.out.println(localDate3);
  }
}

上面的代碼生成以下結(jié)果。

例子

以下代碼顯示如何合并Year和MonthDay以獲取LocalDate。

它在未來五年創(chuàng)造圣誕節(jié)。

以下代碼將為12月25日創(chuàng)建一個(gè)MonthDay,并將其合并到一個(gè)年份以獲取LocalDate。

import java.time.LocalDate;
import java.time.Month;
import java.time.MonthDay;
import java.time.Year;
import java.time.format.TextStyle;
import java.util.Locale;

public class Main {

  public static void main(String[] args) {
    MonthDay dec25 = MonthDay.of(Month.DECEMBER, 25);
    Year year = Year.now();

    for (int i = 1; i <= 5; i++) {
      LocalDate ld = year.plusYears(i).atMonthDay(dec25);
      int yr = ld.getYear();
      String weekDay = ld.getDayOfWeek().getDisplayName(TextStyle.FULL,
          Locale.getDefault());
      System.out.format("Christmas in  %d  is on  %s.%n", yr, weekDay);
    }
  }
}

上面的代碼生成以下結(jié)果。

本地時(shí)間

LocalTime 類表示沒有日期或時(shí)區(qū)的時(shí)間。

時(shí)間表示為納秒精度。

LocalTime 類包含MIN,MAX,MIDNIGHT和NOON常量

MIN是00:00。 MAX是23:59:59.999999999。MIDNIGHT為00:00。NOON是12:00。

以下代碼片段創(chuàng)建 LocalTime 對(duì)象:

import java.time.LocalTime;

public class Main {
  public static void main(String[] args) {
    // current
    LocalTime  localTime1 = LocalTime.now();
    System.out.println(localTime1);
    // 09:30
    LocalTime  localTime2 = LocalTime.of(9, 30);
    System.out.println(localTime2);
    // 09:30:50
    LocalTime  localTime3 = LocalTime.of(9, 30, 50);
    System.out.println(localTime3);
    // 09:30:50.000005678
    LocalTime  localTime4 = LocalTime.of(9, 30, 50, 5678);
    System.out.println(localTime4);
  }
}

上面的代碼生成以下結(jié)果。

本地日期時(shí)間

LocalDateTime 類表示沒有時(shí)區(qū)的日期和時(shí)間。

LocalDateTime LocalDate LocalTime 的組合。

以下代碼顯示如何創(chuàng)建 LocalDateTime 對(duì)象:

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

public class Main {
  public static void main(String[] args) {
    // current 
    LocalDateTime  localDateTime1 = LocalDateTime.now();
    System.out.println(localDateTime1);
    
    // 2014-06-21T16:12:34
    LocalDateTime  localDateTime2 = LocalDateTime.of(2014, Month.JUNE, 21, 16, 12, 34);
    System.out.println(localDateTime2);
    // from  a  local date and  a  local  time
    LocalDate localDate1  = LocalDate.of(2014, 5, 10); 
    LocalTime  localTime= LocalTime.of(16, 18,   41);
    LocalDateTime  localDateTime3 = LocalDateTime.of(localDate1, localTime);
    System.out.println(localDateTime3);
  }
}

上面的代碼生成以下結(jié)果。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)