不使用SimpleDateFormat这个类效验
时间: 2023-07-25 13:41:55 浏览: 134
SimpleDateFormat使用详解
如果你不想使用SimpleDateFormat类来验证日期字符串的有效性,可以使用正则表达式来实现。以下是一个示例代码:
```java
public class DateValidator {
public static boolean isDateValid(String date, String format) {
String regex = "";
if (format.equals("yyyy-MM-dd")) {
regex = "\\d{4}-\\d{2}-\\d{2}";
} else if (format.equals("MM/dd/yyyy")) {
regex = "\\d{2}/\\d{2}/\\d{4}";
} else if (format.equals("dd.MM.yyyy")) {
regex = "\\d{2}.\\d{2}.\\d{4}";
} // 添加更多日期格式的正则表达式
return date.matches(regex);
}
public static void main(String[] args) {
String date1 = "2021-01-01";
String date2 = "2021-13-01";
String format = "yyyy-MM-dd";
System.out.println(isDateValid(date1, format)); // true
System.out.println(isDateValid(date2, format)); // false
}
}
```
在该代码中,isDateValid()方法接收一个日期字符串和日期格式作为输入,并根据日期格式生成相应的正则表达式。然后使用String类的matches()方法来检查日期字符串是否与正则表达式匹配。在main()方法中,我们演示了如何使用该方法来检测两个日期字符串是否为合法。
阅读全文