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
