THỰC ĐƠN

Kiểm tra tính hợp lệ/tồn tại của ngày Java

mục lục

Java ngàyKiểm tra tính hợp lệ/tồn tại Calendar.setLenient()

JavaTRONGKiểm tra tính hợp lệ/tồn tại của ngàyĐây là một chương trình mẫu thực hiện điều này.
Kiểm tra xem chuỗi ngày được chỉ định (yyyy/MM/dd hoặc yyyy-MM-dd) có tồn tại trên lịch hay không.

java.text.DateFormatlớp họcsetLenient()Bằng cách chỉ định sai, bạn có thể thực hiện phân tích ngày tháng một cách nghiêm ngặt. (*Lớp DateFormat nằm trong nội bộsetLenient() trong lớp java.util.Calendarđang gọi. )
Phương thức kiểm tra này lợi dụng thực tế là nếu bạn gọi phương thức parse() với ngày không hợp lệ hoặc ngày không tồn tại, thì ParseException sẽ xảy ra.


chương trình mẫu

/** * Thực hiện kiểm tra tính hợp lệ của ngày. * Trả về xem chuỗi ngày đã chỉ định (yyyy/MM/dd hay yyyy-MM-dd) * có tồn tại trong lịch hay không. * @param strDate Chuỗi để kiểm tra * @return true nếu ngày tồn tại */ public static boolean checkDate(String strDate) { if (strDate == null || strDate.length() != 10) { ném IllegalArgumentException mới ("Đối số) chuỗi ["+ strDate +"]" + "không hợp lệ."); } strDate = strDate.replace('-', '/'); Định dạng DateFormat = DateFormat.getDateInstance(); // Đặt xem có thực hiện ngày nghiêm ngặt hay không /phân tích thời gian. format.setLenient(false); thử { format.parse(strDate); return true; } Catch (Ngoại lệ e) { return false; } }

Kết quả thực hiện

◆Ví dụ thực thi

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")); }

◆Kết quả đầu ra

đúng sai sai
  • URLをコピーしました!
mục lục