SimpleDateFormat匹配多个日期格式
时间: 2023-11-22 10:51:11 浏览: 190
Simple-Date-Extraction:从输入字符串解析日期。 暂时支持4种格式
如果你想要匹配多个日期格式,可以使用多个 SimpleDateFormat 对象,并尝试使用每个格式来解析日期字符串。以下是一个示例代码:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
public class DateValidator {
public static boolean isValidDateFormat(String inputDate, List<String> dateFormats) {
for (String format : dateFormats) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setLenient(false); // 设置为严格模式,不允许容忍非法日期格式
try {
sdf.parse(inputDate);
return true;
} catch (ParseException e) {
// 继续尝试下一个日期格式
}
}
return false;
}
public static void main(String[] args) {
String date = "2022-01-01";
List<String> formats = Arrays.asList("yyyy-MM-dd", "dd/MM/yyyy", "MM/dd/yyyy");
boolean isValid = isValidDateFormat(date, formats);
System.out.println("输入的日期格式是否有效: " + isValid);
}
}
```
在上面的代码中,`isValidDateFormat` 方法接受两个参数,分别是要验证的日期字符串和日期格式列表。它会使用每个日期格式来尝试解析输入的日期字符串,如果解析成功则返回 true,否则继续尝试下一个日期格式。如果所有的日期格式都无法解析成功,则返回 false。
你可以根据需要修改 `date` 和 `formats` 变量的值来验证不同的日期字符串和日期格式。
阅读全文