我有一个字符串以 YYYYMMDD
的形式传递给我的方法之一 -
public static void verifyInput(String input) {
}
此处传递的输入将采用“YYYYMMDD”形式;
如何验证以这种形式传递的 input
字符串是否仅 YYYYMMDD
?
我只需要验证它是否是 YYYYMMDD
这种格式。我不需要获取这种 YYYYMMDD
格式的当前日期,然后将它与ss
.
更新:-
我只需要验证字符串输入以查看它们是否采用这种格式 YYYYMMDD
意思是如果有人传递一个字符串 hello
那么它就不是这种 YYYYMMDD
格式..
如果有人传递这个字符串 20130130
那么它会被验证为 YYYYMMDD
格式..
最佳答案
您可以使用 SimpleDateFormat和 Date , 这是一个解决方案 -
private static final java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyyMMdd");
public static java.util.Date verifyInput(String input) {
if (input != null) {
try {
java.util.Date ret = sdf.parse(input.trim());
if (sdf.format(ret).equals(input.trim())) {
return ret;
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
}
public static void main(String[] args) {
String[] dates = new String[] { "20141031",
"20130228", "20000229", "20000230" };
for (String str : dates) {
System.out.println(verifyInput(str));
}
}
输出
Fri Oct 31 00:00:00 EDT 2014
Thu Feb 28 00:00:00 EST 2013
Tue Feb 29 00:00:00 EST 2000
null
关于java - 如何验证字符串是否为 YYYYMMDD 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975567/