我正在尝试验证实际上是字符串的日期,并尝试以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
。我也想要验证。不知道如何进行。
我正在尝试验证实际上是字符串的日期,并尝试以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
。我也想要验证。不知道如何进行。
默认情况下是宽松的。您需要在解析之前将其设置为non-lenient。
ft.setLenient(false);
这将导致提供的ParseException
日期和/或月份与年份相比无效。请注意,这并不能验证年份本身,因为基本上任何年份都是有效的。根据具体的功能要求,您可能需要对年份进行额外检查,例如拆分字符串/
,然后检查第一部分的长度是否为 4。
您最好使用 RegExp 来验证输入,
例如,请参阅此答案:
https ://stackoverflow.com/a/2149692/1448704
塞巴斯蒂安