Java日期时间 - Java本地日期时间
本地日期
LocalDate 类表示没有时间或时区的日期。
当时间和时区相关时使用LocalDate。
LocalDate 类包含两个常量,MAX和MIN。
MAX和MIN分别是最大和最小支持的LocalDate。
LocalDate.MAX为+ 999999999-12-31,LocalDate.MIN为-999999999-01-01。
以下代码显示如何创建 LocalDate 对象:
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);
}
}
上面的代码生成以下结果。
例子
以下代码显示如何合并Year和MonthDay以获取LocalDate。
它在未来五年创造圣诞节。
以下代码将为12月25日创建一个MonthDay,并将其合并到一个年份以获取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);
}
}
}
上面的代码生成以下结果。
本地时间
LocalTime 类表示没有日期或时区的时间。
时间表示为纳秒精度。
LocalTime 类包含MIN,MAX,MIDNIGHT和NOON常量
MIN是00:00。 MAX是23:59:59.999999999。MIDNIGHT为00:00。NOON是12:00。
以下代码片段创建 LocalTime 对象:
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);
}
}
上面的代码生成以下结果。
本地日期时间
LocalDateTime 类表示没有时区的日期和时间。
LocalDateTime 是 LocalDate 和 LocalTime 的组合。
以下代码显示如何创建 LocalDateTime 对象:
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);
}
}
上面的代码生成以下结果。
码字不易,请大家关注并点赞,有什么问题可以私信我哟