栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Boot 将yyyy-MM-dd格式的文本字符串直接转换为LocalDateTime出现的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot 将yyyy-MM-dd格式的文本字符串直接转换为LocalDateTime出现的问题

Spring Boot 将yyyy-MM-dd格式的文本字符串直接转换为LocalDateTime出现的问题

问题复现

Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-03-12' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2020-03-12 of type java.time.format.Parsed
 at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1920)
 at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1855)
 at java.time.LocalDateTime.parse(LocalDateTime.java:492)
 at demo.LocalDateTimeUtils.parseString(LocalDateTimeUtils.java:22)
 at demo.DateTimeDemo.main(DateTimeDemo.java:12)
Caused by: java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2020-03-12 of type java.time.format.Parsed
 at java.time.LocalDateTime.from(LocalDateTime.java:461)
 at java.time.format.Parsed.query(Parsed.java:226)
 at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
 ... 3 more
Caused by: java.time.DateTimeException: Unable to obtain LocalTime from TemporalAccessor: {},ISO resolved to 2020-03-12 of type java.time.format.Parsed
 at java.time.LocalTime.from(LocalTime.java:409)
 at java.time.LocalDateTime.from(LocalDateTime.java:457)
 ... 5 more
 

问题解决

解决方案:先将文本字符串日期转化为LocalDate类型,再将LocalDate转化为LocalDateTime

LocalDateTimeUtils.parseStringToLocalDateTime(
    couponForm.getStartTime(), DateTimeFormatPatternConstants.YYYY_MM_DD)

public static LocalDateTime parseStringToLocalDateTime(String source, String formatPattern) {
 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatPattern);
 LocalDate localDate = LocalDate.parse(source, dateTimeFormatter);
 return localDate.atStartOfDay();
}

java.time.LocalDate.atStartOfDay()方法将此日期与午夜时间组合在一起,以便在此日期开始时创建LocalDateTime

可参考文档

到此这篇关于Spring Boot 将yyyy-MM-dd格式的文本字符串直接转换为LocalDateTime出现的问题的文章就介绍到这了,更多相关SpringBoot yyyy-MM-dd转换为LocalDateTime内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/131960.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号