您好,我是码农飞哥,感谢您阅读本文!本文主要介绍Java 1.8中LocalDateTime的一些基本使用。


文章目录

获取当前日期

LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
//2021-03-21T14:37:45.208

日期比较

日期比较有两种方式,第一种方式是通过compareTo方法进行比较。如果前一个日期小于后一个日期则返回-1,如果前一个日期等于后一个日期则返回0,
如果前一个日期大于后一个日期则返回1。

//日期比较
LocalDateTime date1 = LocalDateTime.parse("2021-03-21T10:15:30");
LocalDateTime date2 = LocalDateTime.parse("2021-03-20T10:15:30");
//前一个日期小于后一个日期,则为负值,前一个日期大于后一个日期则为正值
int result = date1.compareTo(date2);
System.out.println("前一个日期大于都一个日期=" + result);
date2 = LocalDateTime.parse("2021-03-21T10:15:30");
result = date1.compareTo(date2);
System.out.println("前一个日期等于都一个日期=" + result);
date1 = LocalDateTime.parse("2021-03-20T10:15:30");
result = date1.compareTo(date2);
System.out.println("前一个日期小于都一个日期=" + result);

另外一种方式是通过isBefore方法和isAfter。对于isBefore方法,如果前一个日期小于后一个日期,则返回true,否则则返回false,即前一个日期大于或者等于后一个日期都会返回false。

LocalDate a = LocalDate.of(2021, 3, 12);
LocalDate b = LocalDate.of(2021, 3, 13);
if (a.isBefore(b)) {
System.out.println("日期A小于日期B");
}

日期格式化

LocalDateTime localDateTime = LocalDateTime.now();
// 日期格式化(格式化到年月日)
String format = localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE);
System.out.println("年月日格式化={}" + format);
String format1 = localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
System.out.println("年月日时分秒格式化={}" + format1);
//年月日格式化={}2021-03-21
//年月日时分秒格式化={}2021-03-21T14:44:41.038