gpt4 book ai didi

java - DateTimeFormatter 支持单个数字的月份日期和年份月份

转载 作者:IT老高 更新时间:2023-10-28 20:44:07 28 4
gpt4 key购买 nike

DateTimeFormmater 似乎无法处理月份中的一位数日期:

String format = "MM/dd/yyyy";
String date = "5/3/1969";
System.out.println(new SimpleDateFormat(format).parse(date));
System.out.println(LocalDate.parse(date, DateTimeFormatter.ofPattern(format)));

在本例中,SimpleDateFormat 正确解析日期,但 DateTimeFormatter 抛出异常。如果我要使用零填充日期,例如“05/03/1969”,那么两者都可以。但是,如果某月的某天或某年的月份是个位数,则 DateTimeFormatter 会引发异常。

什么是正确的 DateTimeFormatter 格式来解析一位和两位数的月份日期和月份?

最佳答案

来自 the documentation :

Number: If the count of letters is one, then the value is output using the minimum number of digits and without padding.

所以你想要的格式说明符是M/d/yyyy,使用单字母形式。当然,对于这些日期/月份值,它仍然会正确解析日期 String,例如 "12/30/1969",两位是“最小位数”。

重要的区别是 MMdd 需要零填充,而不是 Md 可以' t 处理大于 9 的值(这有点……不寻常)。

关于java - DateTimeFormatter 支持单个数字的月份日期和年份月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27571377/

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