我正在尝试验证实际上是字符串的日期,尝试以yyyy/MM/dd
格式打印它。
这是代码。
String s="2012/12/0390990";
SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd");
System.out.println(ft.format(ft.parse(s)));
,输出为3083/05/30
。我也希望得到验证。不知道如何继续。
答案 0 :(得分:5)
默认是宽松的。您需要在解析之前将其设置为non-lenient。
ft.setLenient(false);
与年份相比,当提供无效的日期和/或月份时,这将导致ParseException
。请注意,这并不验证年份本身,因为基本上任何年份都是有效的。根据具体的功能要求,您可能需要对年份进行额外检查,例如:在/
上拆分字符串,然后检查第一部分的长度是否为4。
答案 1 :(得分:-2)
您最好使用RegExp验证输入,
例如,看看这个答案:
https://stackoverflow.com/a/2149692/1448704
塞巴斯蒂安