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é)果。
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é)果。
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é)果。
更多建議: