Cách kiểm tra định dạng ngày có hợp lệ hay không trong PHP?

Có lẽ người dùng đã nhập ngày vào biểu mẫu và bây giờ, bạn muốn kiểm tra xem nó có đúng định dạng ngày hay không trước khi xử lý thêm dữ liệu hoặc chèn dữ liệu vào cơ sở dữ liệu

Giải pháp

Có một số cách để xác minh định dạng ngày hợp lệ. Chúng tôi sẽ điều tra hai trong số những người dưới đây-

Phương pháp 1. Sử dụng hàm date_parse()

Nếu bạn chuyển định dạng ngày hợp lệ cho hàm date_parse(), nó sẽ trả về một mảng kết hợp chứa thông tin chi tiết về ngày như ngày, tháng, năm, v.v. Ngoài những thông tin đó, hàm còn trả về các số cảnh báo và lỗi dưới dạng khóa warning_count và error_count tương ứng trong mảng nếu ngày được cung cấp không phải là định dạng ngày hợp lệ

[wpdm_file id=145]

đầu ra
Nó không phải là một ngày hợp lệ

Cách kiểm tra định dạng ngày có hợp lệ hay không trong PHP?

Xin lưu ý rằng hàm date_parse() chấp nhận các định dạng ngày được chấp nhận bởi hàm strtotime()  . Xem danh sách các định dạng ngày giờ được hỗ trợ. Vì vậy, nếu bạn sử dụng các định dạng này, hàm date_parse() sẽ trả về giá trị true.

Phương pháp 2. Sử dụng lớp DateTime

PHP cung cấp vô số các lớp được tạo sẵn tuyệt vời để giúp các nhà phát triển của bạn giải quyết các vấn đề phổ biến. Để giải quyết vấn đề ngày & giờ, PHP cung cấp lớp DateTime

Có 2 bước để kiểm tra định dạng ngày hợp lệ bằng cách sử dụng lớp DateTime-

  • Tạo một đối tượng DateTIme mới bằng phương thức createFromFormat() cho phép bạn tạo một đối tượng DateTIme theo định dạng mà bạn đã chỉ định trong các tham số của nó
  • Sau đó, sử dụng phương thức getLastErrors() để kiểm tra xem có lỗi hay cảnh báo nào trong đối tượng bạn vừa tạo không

Trong ví dụ sau, chúng tôi sẽ kiểm tra xem 2014-04-31 có phải là một ngày hợp lệ hay không. Ghi chú. Tháng 4 có 30 ngày. Vì vậy, nó không phải là một ngày hợp lệ

getLastErrors();
if($err['warning_count'] == 0 && $err['error_count'] == 0)
echo "It's a valid date";
else
echo "It's not a valid date";
?>

[wpdm_file id=146]

đầu ra
Đó không phải là một ngày hợp lệ

Dòng 2Ở đây, chúng ta tạo một đối tượng DateTime($date) bằng cách sử dụng phương thức createFromFormat() với date(‘2014-04-31’) được cung cấp. Tham số thứ hai là ngày được cung cấp của chúng tôi và tham số đầu tiên là biểu thị định dạng ký tự của ngày được cung cấp của chúng tôi. Để xem danh sách ký tự định dạng khác, hãy kiểm tra . Dòng 3 Nếu đối tượng DateTime($date) mà chúng ta đã tạo ở dòng trước có bất kỳ lỗi hoặc cảnh báo nào, chúng ta có thể biết điều đó bằng cách sử dụng phương thức getLastError(). Phương thức này trả về một mảng có tất cả các lỗi và cảnh báo. Chúng tôi đặt tên cho mảng đó là $err. Dòng 4Số lượng lỗi và cảnh báo được lưu trong các khóa error_count và warning_count tương ứng trong mảng. Tại đây, chúng tôi kiểm tra xem có lỗi hoặc cảnh báo nào tồn tại không. Nếu nó không có cảnh báo hoặc lỗi, thì chúng tôi in “Đó là một ngày hợp lệ”, ngược lại, “Đó không phải là một ngày hợp lệ”. Khi ngày có cảnh báo, nó sẽ hiển thị thông báo tiếp theo

Cách kiểm tra định dạng ngày có hợp lệ hay không trong PHP?

Bạn có thể có định dạng ngày khác nhau. Trong trường hợp đó, hãy khớp các ký tự định dạng trong các đối số đầu tiên trong phương thức createFromFormat() với ngày bạn cung cấp trong tham số thứ hai. Bán tại

Cách tốt nhất trong php để xác định xem một chuỗi có phải là một ngày hợp lệ hay không, các chuỗi đã cho giống như thế này là gì?

02/05/2020
01/01/2021
10/06/2020
01/03/2021
09/11/2020
01/02/2021

Không có gì đảm bảo rằng tất cả các chuỗi ngày sẽ tuân theo mẫu đó. Dưới đây là ví dụ về ngày không hợp lệ trong tình huống này

❮ Tham chiếu ngày/giờ PHP

Ví dụ

Kiểm tra xem một số ngày có phải là ngày Gregorian hợp lệ không

var_dump(ngày kiểm tra(12,31,-400));
tiếng vang"
“;
var_dump(ngày kiểm tra(2,29,2003));
tiếng vang"
“;
var_dump(ngày kiểm tra(2,29,2004));
?>

Tự mình thử »


Định nghĩa và cách sử dụng

Hàm checkdate() được sử dụng để xác thực ngày Gregorian


cú pháp

ngày kiểm tra (tháng, ngày, năm)

Giá trị tham số

Tham sốMô tảthángBắt buộc. Chỉ định tháng dưới dạng số từ 1 đến 12 ngàyBắt buộc. Chỉ định ngày dưới dạng số từ 1 đến 31 nămBắt buộc. Chỉ định năm dưới dạng số từ 1 đến 32767

chi tiết kỹ thuật

Giá trị trả về. TRUE nếu ngày hợp lệ. FALSE nếu không thì Phiên bản PHP. 4. 0+
❮ Tham chiếu ngày/giờ PHP

chương trình 2. Chương trình dưới đây kiểm tra xem ngày có hợp lệ hay không trong trường hợp năm nhuận và năm không nhuận.   

php




// PHP program to demonstrate the checkdate() function

bool(true)
5

 

$month

bool(true)
7

$day

bool(true)
9

Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
0
bool(true)
bool(false)
1

 

Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
2

bool(true)
bool(false)
3

Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
3
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
4
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
5_______32_______
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
7$day5_______7
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
0_______2_______1

 

 

$month

bool(true)
7

$day

bool(true)
9

Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
0
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
1

 

Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
2

// PHP program to demonstrate the checkdate() function0

Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
3
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
4
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
5_______32_______
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
7$day5_______7
Input : $month = 12 $day = 31 $year = 2017
Output : true

Input : $month = 2 $day = 29 $year = 2016
Output : true 

Input : $month = 2 $day = 29 $year = 2017
Output : false
0_______2_______1

 

bool(true)
2

đầu ra.   

bool(true)
bool(false)

PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo Hướng dẫn PHP và Ví dụ về PHP này

Làm cách nào để kiểm tra tính hợp lệ của một ngày?

C Chương trình kiểm tra xem một ngày có hợp lệ hay không .
Ngày không được nhỏ hơn 1 và lớn hơn 31
Tháng không được nhỏ hơn 1 và lớn hơn 12
Năm không được nhỏ hơn 1800 và lớn hơn 9999
Khi các tháng là tháng 4, tháng 6, tháng 9, tháng 11 thì ngày không được dài hơn 30
Khi tháng là tháng hai, chúng tôi phải kiểm tra xem,

Làm cách nào để kiểm tra giá trị ngày trong PHP?

Giá trị ngày tháng 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 trong lớp DateTime của PHP.

Cách kiểm tra biến có phải là ngày hay không trong PHP?

$date = date('Y-m-d',strtotime($date)); định dạng bất kỳ định dạng ngày nào thành định dạng cần thiết. Nếu $date ban đầu không ở định dạng ngày tháng, kết quả $date sẽ là sai. Lưu câu trả lời này.