Java中可以使用SimpleDateFormat類來校驗日期是否符合格式。以下是一個示例代碼:
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class DateValidator {
public static boolean isValidDate(String dateStr, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setLenient(false);
try {
sdf.parse(dateStr);
return true;
} catch (ParseException e) {
return false;
}
}
public static void main(String[] args) {
String dateStr = "2021-01-01";
String format = "yyyy-MM-dd";
boolean isValid = isValidDate(dateStr, format);
System.out.println(isValid); // 輸出 true
dateStr = "2021/01/01";
isValid = isValidDate(dateStr, format);
System.out.println(isValid); // 輸出 false
}
}
在上面的代碼中,isValidDate
方法接受兩個參數,分別是日期字符串和日期格式。它首先創建一個SimpleDateFormat對象,并設置為嚴格模式(setLenient(false)
)來禁止解析不合法的日期。
然后,它嘗試使用給定的格式解析日期字符串。如果解析成功,說明日期符合格式,返回true;如果解析失敗,說明日期不符合格式,返回false。
在main方法中,我們分別測試了一個符合格式和一個不符合格式的日期字符串,結果分別輸出了true和false。