将字符串"yyyy-MM-dd"转换为LocalDateTime

24 浏览
0 Comments

将字符串"yyyy-MM-dd"转换为LocalDateTime

有没有办法将一个日期字符串转换为格式为"yyyy-MM-dd"的LocalDateTime?

如果我尝试这样做:

DateTimeFormatter DATEFORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDateTime ldt = LocalDateTime.parse(string, DATEFORMATTER);

我得到以下异常:

java.time.format.DateTimeParseException: 无法解析文本'2017-03-13':无法从TemporalAccessor中获取LocalDateTime:{},ISO解析为2017-03-13,类型为java.time.format.Parsed

在java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1920)

在java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1855)

在java.time.LocalDateTime.parse(LocalDateTime.java:492)

在hu.npsh.workforce.utils.Util.stringToLocalDateTime(Util.java:284)

在hu.npsh.workforce.utils.util.StringLocalDateTimeConversionTest.stringToLocalDateTimeTest(StringLocalDateTimeConversionTest.java:35)

...

我知道主要问题是模式不包含小时和分钟...

但是如果我想创建一个方法,该方法接收一个字符串和一个DateTimeFormatter,并返回一个LocalDateTime,该怎么办呢?

有没有一个正确、好的解决方案?

编辑:

我的目标是创建一个方法,该方法接收一个字符串和一个DateTimeFormatter,并返回一个LocalDateTime。

模式可以是任何有效的格式。

0