Cần kiểm tra xem các giá trị ngày tháng có hợp lệ hay không hợp lệ khi làm việc với các giá trị ngày tháng. Nếu giá trị ngày không được lấy ở định dạng chính xác, thì đầu ra sai sẽ được tạo. Vì vậy, xác thực ngày là một nhiệm vụ rất quan trọng đối với ứng dụng. Giá trị ngày có thể được xác thực bằng cách sử dụng nhiều hàm trong PHP. Một là hàm checkdate() và một là hàm createFromFormat() nằm dưới lớp DateTime của PHP. Việc sử dụng các hàm này để xác thực ngày trong PHP đã được trình bày trong hướng dẫn này
Xác thực ngày bằng cách sử dụng hàm checkdate()
Sử dụng hàm checkdate() là một trong những cách để xác thực ngày tháng trong PHP. Cú pháp của chức năng này được đưa ra dưới đây
cú pháp
bool ngày kiểm tra( int $tháng, int $day, int $year)
Hàm này có ba đối số và tất cả các đối số của hàm này là bắt buộc. Nó trả về True nếu giá trị ngày hợp lệ. Nếu không, nó trả về Sai. Các cách sử dụng khác nhau của hàm checkdate() được trình bày trong phần này của hướng dẫn
ví dụ 1. Kiểm tra tính hợp lệ của các loại ngày khác nhau
Tạo một tệp PHP với tập lệnh sau để kiểm tra tính hợp lệ của năm ngày bằng hàm checkdate(). Hàm var_dump() đã được sử dụng để kiểm tra đầu ra của hàm checkdate()
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó
ví dụ 2. In tin nhắn dựa trên đầu ra của hàm checkdate()
Tạo tệp PHP với tập lệnh sau để kiểm tra giá trị trả về của hàm checkdate() và in thông báo dựa trên giá trị được trả về
if(isset($_GET['dt']))
{
//Assign a date value as a string
$dateVal = $_GET['dt'];
//Generate formatted date
$formattedDate = DateTime::createFromFormat('d-M-Y', $dateVal);
//Read errors in a variable
$errors = DateTime::getLastErrors();
//Check for error
if ($errors['warning_count'] != 0 or $errors['error_count'] != 0)
echo "$dateVal is invalid.";
else
echo "$dateVal is valid.";
}
else
echo "No date value has been given.";
?>
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó nếu không có giá trị ngày nào được cung cấp trong tham số URL
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó nếu giá trị ngày 31 tháng 9 năm 2022 được cung cấp trong tham số URL và giá trị này không hợp lệ
Đầu ra sau đây sẽ xuất hiện sau khi thực thi tập lệnh trước đó nếu giá trị ngày 30 tháng 9 năm 2022 được cung cấp trong tham số URL và giá trị này hợp lệ
Phần kết luận
Hai cách kiểm tra tính hợp lệ của ngày tháng đã được trình bày trong hướng dẫn này bằng cách sử dụng hàm checkdate() và hàm createFromFormat() của lớp DateTime bằng cách sử dụng nhiều ví dụ. Hy vọng rằng người dùng PHP có thể kiểm tra tính hợp lệ của ngày sau khi đọc hướng dẫn này