PHP: Format date dd/mm/yyyy và so sánh với Date hiện tại

3/5 - (2 bình chọn)

Một vấn đề hay gặp trong quá trình xử lý PHP datetime là tình huống format date từ định dạng đọc ở Việt Nam là dd/mm/yyy sang để so sánh với date hiện tại. Code Tốt chia sẻ cách làm đơn giản nhất.

Giả sử bạn đang có 1 định dạng output là dd/mm/yyyy, ví dụ 21/11/2025. Bạn muốn so sánh với ngày hôm nay để trả ra giá trị là true/false (hết hạn hay còn hạn), vậy sẽ làm như thế nào?

$end_date = get_field('end_date'); // Giả sử ở đây mình lấy từ dữ liệu ACF, ví dụ trả ra string "21/11/2025"
$formatted_end_date = DateTime::createFromFormat('d/m/Y', $end_date);
$end_date_timestamp = $formatted_end_date->getTimestamp();
$is_expiry_date = time() > $end_date_timestamp;

Khi sử dụng class DateTime để tạo ra, giá trị được làm đúng theo tiêu chuẩn để so sánh timestamp giữa 2 date. Một số bài viết trên Stackoverflow sẽ tư vấn bạn dùng str_replace, nhưng theo mình không nên.

Have fun!

Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan

02/01/2024

Fix lỗi npm không thể cài các package devDependencies
Khi cài đặt dự án,  có lúc bạn sẽ cài mãi cũng không đủ các package npm, đặc biệt là...
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...