文
章
目
录
章
目
录
Java8的LocalDateTime类表示本地时间线上的一个时间点,即没有时区信息。本文主要学习在Java8中如何将字符串转换为LocalDateTime对象。
1.解析字符串到LocalDateTime
LocalDateTime.parse()方法接受两个参数。第一个参数是表示日期的字符串。第二个可选参数是一个DateTimeFormatter实例,指定任何自定义模式。
1.1 使用默认模式 -> yyyy-MM-ddThh:mm:ss
默认日期模式是DateTimeFormatter.ISO_LOCAL_DATE_TIME,即yyyy-MM-ddThh:mm:ss。
该格式包括以下部分:
- ISO_LOCAL_DATE
字母’T’解析不区分大小写。
ISO_LOCAL_TIME
ISO_LOCAL_DATE_TIME = ISO_LOCAL_DATE + ‘T’ + ISO_LOCAL_TIME
LocalDateTime today = LocalDateTime.parse("2023-10-27T10:15:30");
System.out.println(today); //2023-10-27T10:15:30
1.2自定义模式
可以使用DateTimeFormatter构建自定义模式,然后将其实例作为第二个参数传递给LocalDateTime.parse()方法。
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse("2023-10-27 10:15:30", formatter);
System.out.println(dateTime);//2023-10-27T10:15:30
2. 特定地区的模式
有时我们可能会遇到特定地区的日期,例如法语,例如29-Mar-2019在法语中写成29-Mars-2019。要解析这样的日期,请使用DateTimeFormatter withLocale()方法获取该地区的格式器并解析日期。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MMMM-dd HH:mm:ss").withLocale(Locale.FRENCH);
LocalDateTime date = LocalDateTime.parse("2023-mai-29 10:15:30", formatter);
System.out.println(date);//2023-05-29T10:15:30
以上就是Java8如何将字符串解析为LocalDateTime对象的全部内容。