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)です。

bannerAds