繁体   English   中英

SimpleDateFormat错误或误解性和宽大?

[英]SimpleDateFormat bug or misunderstanding pattern and lenient?

有代码:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM d HH:mm yyyy");

这将按预期工作:

simpleDateFormat.parse("Mar 27 02:02 2016");
simpleDateFormat.parse("Mar 27 03:02 2016");

但是simpleDateFormat.setLenient(false);

会使解析(“ Mar 27 02:02 2016”)失败。 这让我完全困惑-我可以看到,SDF格式的模式正确吗? 因此,是否设置宽大无关紧要。 另外,我尝试了许多其他相同格式的随机(千)日期字符串,但只有“ Mar 27 02:02 2016”日期字符串失败-。 这里发生了什么? 请注意,如果这很重要,并且时区为“欧洲/斯德哥尔摩”(并且创建的日历的useDaylight为true),则语言环境为sv_SE。

我已经进行了如下测试,对我来说效果很好

Locale locale = new Locale("sv", "SE");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM d HH:mm yyyy", locale);
simpleDateFormat.setLenient(false);
Date pDate = simpleDateFormat.parse("Mar 27 02:02 2016");
//simpleDateFormat.parse("Mar 27 03:02 2016");
System.out.println(pDate);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM