首页 > 解决方案 > 解析 dMyyyy 类型的日期格式

问题描述

我有一个奇怪的日期格式(例如 3.4.2021 -> dMyyyy,零被跳过),我想得到一个格式为 dd.MM.yyyy 的字符串,但到目前为止我尝试的所有方法都抛出异常并说文本不能解析。

我尝试过的示例之一:

String d = LocalDate.parse(startDatePannel).format(DateTimeFormatter.ofPattern("d.M.yyyy"));

我怎样才能解析这个日期?

标签: java

解决方案


阅读Jon Skeet 的评论

定义与您的输入匹配的格式化模式。

DateTimeFormatter formatterIn = DateTimeFormatter.ofPattern( "d.M.uuuu" ) ;

解析。

LocalDate localDate = LocalDate.parse( "23.1.2021" , formatterIn ) ;

为所需的输出定义格式模式。

DateTimeFormatter formatterOut = DateTimeFormatter.ofPattern( "dd.MM.uuuu" ) ;

生成表示LocalDate对象值的文本。

String output = localDate.format( formatterOut ) ;

推荐阅读