Java8如何将字符串解析为LocalDateTime对象

后端 潘老师 6个月前 (10-31) 194 ℃ (0) 扫码查看

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对象的全部内容。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10545.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】