Javaで日付のフォーマットが正しいかどうかを判別する方法
SimpleDateFormatクラスを使用して、日付フォーマットが正しいかどうかを判断できます。以下の例を示します。
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class DateValidator {
public static boolean isDateFormatValid(String date, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setLenient(false);
try {
sdf.parse(date);
return true;
} catch (ParseException e) {
return false;
}
}
public static void main(String[] args) {
String date1 = "2021-10-25";
String format1 = "yyyy-MM-dd";
System.out.println(isDateFormatValid(date1, format1)); // 输出: true
String date2 = "2021/10/25";
String format2 = "yyyy-MM-dd";
System.out.println(isDateFormatValid(date2, format2)); // 输出: false
}
}
isDateFormatValidメソッド内で、SimpleDateFormatオブジェクトを作成して、その厳密モードをfalseに設定します。その後、指定のフォーマットを使用して日付を解析しようとします。解析が成功すると、それは日付のフォーマットが正しいことを示します。解析がParseException例外を送出すると、日付のフォーマットが正しくないことを示します。
mainメソッドで、私たちは 2 つのサンプルの日付のフォーマットをテストしました。最初の日付は正しいフォーマット「yyyy-MM-dd」を用いており、アウトプットは真(true)です。2 つ目の日付は正しくないフォーマット「yyyy-MM-dd」を用いており、アウトプットは偽(false)です。