-1
SimpleDateFormat
似乎忽略匹配字符串中的字符串,一旦它找到匹配模式。Java Simpledateformat似乎忽略字符串匹配模式
例如:模式"yyyyMMddHHmm"
匹配201601251531oi
,我认为它不应该。然而这20160125153133
失败,这是完全正确的。 我试图setLenient
作为true
并没有效果。我知道我们可以添加另一个检查数字位数(正则表达式),但有办法严格使这种模式只能使用SimpleDateFormat
?
public static boolean isValidDateTimeFormat(String anyString,
String dateTimePattern) {
// here the pattern is 'yyyyMMddHHmm'
SimpleDateFormat datePattern = new SimpleDateFormat(dateTimePattern);
datePattern.setLenient(false); // no difference
try {
datePattern.parse(anyString);
return true;
}
catch (Exception pe){
return false;
}
}
数据只要做到这一点你已经的方式思维。这可能是最好的方法 – ControlAltDel
@keppil如果它是重复的,那么指出这些,而不仅仅是标记为重复。在添加这个问题之前,我做了搜索,并且在SimpleDateFormat中有许多问题,并且他们都没有提供答案。 – ulab
@ControlAltDel好吧我想如果没有其他方式,那么这是更好的方法:) – ulab