MENU

Pengecekan Validitas dan Keberadaan Tanggal Java

Daftar isi

Jawa tanggalPemeriksaan validitas dan eksistensi Kalender.setLenient()

JawaPengecekan validitas dan keberadaan tanggalIni adalah contoh program yang melakukan tindakan berikut.
Fungsi ini memeriksa apakah string tanggal yang ditentukan (yyyy/MM/dd atau yyyy-MM-dd) ada di kalender.

java.text.DateFormatkelassetLenient()Menentukan nilai false memungkinkan penguraian tanggal yang ketat. (*Kelas DateFormat secara internal melakukan hal ini)Metode setLenient() dari kelas java.util.Calendar(Ini panggilan...)
Metode pengecekan ini memanfaatkan fakta bahwa memanggil metode parse() dengan tanggal yang tidak valid atau tidak ada akan menghasilkan ParseException.


Contoh program

/**
 * 日付の妥当性チェックを行います。
 * 指定した日付文字列(yyyy/MM/dd or yyyy-MM-dd)が
 * カレンダーに存在するかどうかを返します。
 * @param strDate チェック対象の文字列
 * @return 存在する日付の場合true
 */
public static boolean checkDate(String strDate) {
    if (strDate == null || strDate.length() != 10) {
        throw new IllegalArgumentException(
                "引数の文字列["+ strDate +"]" +
                "は不正です。");
    }
    strDate = strDate.replace('-', '/');
    DateFormat format = DateFormat.getDateInstance();
    // 日付/時刻解析を厳密に行うかどうかを設定する。
    format.setLenient(false);
    try {
        format.parse(strDate);
        return true;
    } catch (Exception e) {
        return false;
    }
}

Hasil eksekusi

◆Contoh

public static void main(String[] args) { System.out.println(checkDate("2007-01-01")); System.out.println(checkDate("2007/02/31")); System.out.println(checkDate("aaaa/02/31")); }

◆Hasil keluaran

benar salah salah
  • URLをコピーしました!
Daftar isi