gpt4 book ai didi

java - 简单的日期格式解析 2k11 类似的值,应该抛出异常

转载 作者:行者123 更新时间:2023-11-30 05:33:55 25 4
gpt4 key购买 nike

我正在尝试使用简单的数据格式验证日期,它会解析奇怪的日期。

 val dateFormat = new SimpleDateFormat("dd MMM, yyyy")
dateFormat.setLenient(false)
dateFormat.parse("01 Jan, 2k11")

1 月 1 日星期日 00:00:00 IST 2

快时间:-62104253400000

c日期:公元 2-01-01T00:00:00.000+0530

最佳答案

我开始挖掘 SimpleDateFormat 的源代码,并阅读足够的内容来收集这里似乎发生的事情。发生的情况是,您的年份组件 2k11 被解释为两位数年份(实际上是一位数字,2),并且后面的所有内容都被忽略,因为不属于其中的日期模式。考虑以下产生相同结果的代码:

  DateFormat dateFormat = new SimpleDateFormat("dd MMM, yyyy");
dateFormat.setLenient(false);
Date blah = dateFormat.parse("01 Jan, 2 Jon Skeet");
System.out.println(blah);

打印:

Sun Jan 01 00:00:00 CET 2

如您所见,解释的年份是 2,并且 Jon Skeet 简介被忽略。要准确了解 为什么 SimpleDateFormat 这样做,请阅读源代码。

关于java - 简单的日期格式解析 2k11 类似的值,应该抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57005168/

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