gpt4 book ai didi

java - SimpleDateFormat 中的两位数年份

转载 作者:行者123 更新时间:2023-12-03 18:55:46 39 4
gpt4 key购买 nike

也许这个问题很傻,但我没有找到令我满意的答案。

我有一个 SimpleDataFormat,例如:

sdf = new SimpleDateFormat("dd/MM/yyyy");

如果我尝试解析这样的日期:10/10/15

那么日期结果是 15 年,而不是 2015 年。

为什么 parse 在这种情况下有效?我期待一个 ParseException

我如何强制用户以 4 位数字格式输入年份? (请不要使用 String.length())

我正在使用 setLenient(false)

最佳答案

您的日期按字面解释。每http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

"For parsing, if the number of pattern letters is more than 2, theyear is interpreted literally, regardless of the number of digits. Sousing the pattern "MM/dd/yyyy", "01/11/12" parses to Jan 11, 12 A.D."

这也是您没有得到预期异常的原因。

关于java - SimpleDateFormat 中的两位数年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398112/

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