我有一个字符串,它以以下形式传递给我的方法之一YYYYMMDD-
public static void verifyInput(String input) {
}
Run Code Online (Sandbox Code Playgroud)
这里传递的输入将采用这种形式“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));
}
}
Run Code Online (Sandbox Code Playgroud)
输出
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18100 次 |
| 最近记录: |