Daftar isi
Jawa tanggalPemeriksaan validitas dan eksistensi Kalender.setLenient()
JawaでPengecekan 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
