Java 8 中引入的 java.time.LocalDateTime 类表示没有时区信息的本地日期时间对象。
它代表纳秒精度的时间,例如2007-12-03T10:15:30:55.123456789
请注意,LocalDateTime
实例是不可变的和线程安全的。
Java 如何将LocalDateTime格式化为字符串
使用LocalDateTime.format(DateTimeFormatter)
方法将本地时间格式化为所需的字符串表示形式。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss a"); LocalDateTime now = LocalDateTime.now(); String dateTimeString = now.format(formatter); //2019-03-28 14:47:33 PM
Java 如何修改当地时间
LocalDateTime
提供了以下方法,可用于获取相对于可用 localdatetime 实例的新 localdatetime 实例。
plusYears()
plusMonths()
plusDays()
plusHours()
plusMinutes()
plusSeconds()
plusNanos()
minusYears()
minusMonths()
minusDays()
minusHours()
minusMinutes()
minusSeconds()
minusNanos()
LocalDateTime now = LocalDateTime.now(); //3 hours later LocalDateTime localDateTime1 = now.plusHours(3); //3 minutes earliar LocalDateTime localDateTime2 = now.minusMinutes(3); //Next year same time LocalDateTime localDateTime2 = now.plusYears(1); //Last year same time LocalDateTime localDateTime2 = now.minusYears(1);
Java如何创建LocalDateTime
通常,我们将在两种情况下创建 LocalDateTime 实例,例如:获取当前时间或者为指定时间戳创建本地日期时间。
获取当前时间
使用以下工厂方法获取当前本地日期时间。
LocalDateTime now = LocalDateTime.now();
创建指定时间
要创建具有特定日期和时间信息的本地时间,请使用以下方法。
// 精度毫秒 LocalDateTime localDateTime1 = LocalDateTime.of(2019, 03, 28, 14, 33, 48, 123456789); // 月份 LocalDateTime localDateTime2 = LocalDateTime.of(2019, Month.MARCH, 28, 14, 33, 48, 123456789); // 精度秒 LocalDateTime localDateTime3 = LocalDateTime.of(2019, Month.MARCH, 28, 14, 33, 48); // 精度分钟 LocalDateTime localDateTime4 = LocalDateTime.of(2019, Month.MARCH, 28, 14, 33); // 本地日期和实际 LocalDate date = LocalDate.of(2109, 03, 28); LocalTime time = LocalTime.of(10, 34); LocalDateTime localDateTime5 = LocalDateTime.of(date, time);
LocalDateTime 类声明
public final class LocalDateTime extends Object implements Temporal, TemporalAdjuster, ChronoLocalDateTime<LocalDate>, Serializable { //class body }
www. On IT Road .com
Java 如何将字符串解析为LocalDateTime
LocalDateTime
类有两个重载的 parse() 方法将字符串中的时间转换为本地时间实例。
parse(CharSequence text) //1 parse(CharSequence text, DateTimeFormatter formatter) //2
- 如果字符串包含
ISO_LOCAL_DATE_TIME
模式中的时间,则使用第一种方法,例如:2019-03-27T10:15:30。这是 Java 中本地时间的默认模式。 - 对于任何其他日期时间模式,我们需要使用第二种方法,将时间作为字符串以及表示该日期时间字符串模式的格式化程序。
//1 - default time pattern String time = "2019-03-27T10:15:30"; LocalDateTime localTimeObj = LocalDateTime.parse(time); //2 - specific date time pattern DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss a"); String time1 = "2019-03-27 10:15:30 AM"; LocalDateTime localTimeObj1 = LocalDateTime.parse(time1, formatter);
日期:2020-09-17 00:09:37 来源:oir作者:oir