gpt4 book ai didi

java - 为什么 DateTimeFormatter 没有格式化我的字符串?

转载 作者:行者123 更新时间:2023-12-02 01:18:32 24 4
gpt4 key购买 nike

我有一个简单的日期字符串headerValues[5]="24.11.1946"。我只想将其转换、解析为日期对象。所以我用

  DateTimeFormatter formatter = ofPattern(("dd.MM.yyyy");
headerLine.setStartDate(LocalDate.parse(headerValues[5],datePattern));

输出是2012-04-25不是我想要的24.11.1946???

为什么???

编辑

我试过这个...

DateTimeFormatter datePattern = DateTimeFormatter.ofPattern("dd.MM.yyyy", Locale.GERMANY);
String date = "24.11.1946";
System.out.println("Date = "+ LocalDate.parse(date,datePattern));

输出是...

Date = 1946-11-24

最佳答案

这部分代码...

LocalDate.parse(date,datePattern)

创建一个 LocalDate 实例。

因此在您的这行代码中...

System.out.println("Date = "+ LocalDate.parse(date,datePattern));

您实际上正在调用 LocalDate 类的 toString() 方法。

来自该方法的javadoc...

The output will be in the ISO-8601 format uuuu-MM-dd.

您不想要这种格式。您需要 datePattern 对象的格式。因此,您应该更改发布到的代码的最后一行...

System.out.println(datePattern.format(LocalDate.parse(date,datePattern)));

换句话说,同一个 DateTimeFormatter 对象既可用于将 String 解析为日期,也可用于将日期格式化为 String >.

关于java - 为什么 DateTimeFormatter 没有格式化我的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58159519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com