Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SimpleDataFormat没有检查日期验证?_Java_Date Format - Fatal编程技术网

Java SimpleDataFormat没有检查日期验证?

Java SimpleDataFormat没有检查日期验证?,java,date-format,Java,Date Format,我有一个RESTAPI,它涉及日期转换。因此,它有一些输入,比如日期字符串及其格式。但我的问题是,我无法验证某些负面场景的日期。比如说 new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("29-09-2014 20:35:27"); 我希望上面的代码会抛出异常,但它不会。所以我的验证失败了。 有人能提出解决方案吗?您需要告诉DateFormat严格解析,而不是宽松地解析默认值: SimpleDateFormat sdf = new Simple

我有一个RESTAPI,它涉及日期转换。因此,它有一些输入,比如日期字符串及其格式。但我的问题是,我无法验证某些负面场景的日期。比如说

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("29-09-2014 20:35:27");
我希望上面的代码会抛出异常,但它不会。所以我的验证失败了。 有人能提出解决方案吗?

您需要告诉DateFormat严格解析,而不是宽松地解析默认值:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
sdf.parse("29-09-2014 20:35:27"); // Throws ParseException
您需要告诉DateFormat严格解析,而不是宽松地解析默认值:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
sdf.parse("29-09-2014 20:35:27"); // Throws ParseException

谢谢最有用的是它还可以验证给定的日期,而不是像java.text中的setLenient这样的方法。SimpleDateFormatter@GunjanShah:没有java.text.SimpleDataFormatter这样的类,但setLenient是以DateFormat声明的,SimpleDataFormat是的子类。@Jon Skeet,这是我的误解。我同意你的回答。该方法是在DateFormat类中定义的。非常抱歉,您的评论有误,谢谢。最有用的是它还可以验证给定的日期,而不是像java.text中的setLenient这样的方法。SimpleDateFormatter@GunjanShah:没有java.text.SimpleDataFormatter这样的类,但setLenient是以DateFormat声明的,SimpleDataFormat是的子类。@Jon Skeet,这是我的误解。我同意你的回答。该方法是在DateFormat类中定义的。对于错误的评论,我深表歉意。。