Memo cách chuyển đổi datetime thành date hoặc trong PHP.
Khi nào cần chuyển đổi datetime thành date hoặc time trong PHP
Trong laravel chúng ta hay dùng timestamp và tạo các cột created_at
và updated_at
và lưu chúng trong database với kiểu dữ liệu datetime, ví dụ như 2022-05-10 20:08:08
chẳng hạn.
Khi cần so sánh ngày, so sánh thời gian, hoặc là cần lưu chúng dưới dạng date hay time vào database, khi đó cần phải chuyển đổi kiểu datetime thành các định dạng thời gian khác thì mới có thể sử dụng được.
Chuyển đổi datetime thành date trong PHP
Cách đơn giản nhất là sử dụng kết hợp hàm DateTime và phương thức format trong PHP như sau:
$datetime = "2022-05-10 20:08:08";
$date = (new DateTime($datetime))->format('Y-m-d');
print($date);
//2022-05-10
Ngoài ra, chúng ta cũng có thể sử dụng hàm explode trong PHP để tách phần date riêng từ datetime như sau:
$datetime = "2022-05-10 20:08:08";
$date = explode(" ",$datetime);
print($date[0]);
//2022-05-10
Chuyển đổi datetime thành time trong PHP
Cũng với 2 cách ở trên nhưng chúng ta chỉ cần thay đổi một chút là có thể chuyển đổi datetime thành time trong PHP rồi.
Cách 1:
$datetime = "2022-05-10 20:08:08";
$time = (new DateTime($datetime))->format('H:i:s');
print($time);
//20:08:08
Cách 2:
$datetime = "2022-05-10 20:08:08";
$time = explode(" ",$datetime);
print($time[1]);
//20:08:08
Kết luận
Thế là xong mẹo chuyển đổi datetime thành các định dạng thời gian khác trong PHP.
Bình luận