Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Xử lý thời gian (Time) trong PHP và MySQL: Chuyển đổi định dạng 12h/24h

Khi làm việc với thời gian giữa PHP và MySQL, thường cần chuyển đổi giữa định dạng 12 giờ (có AM/PM) và 24 giờ.

Trong PHP: Sử dụng strtotime() và date()

$timeValue = '8:55 PM';
$changeTimeFormat = date('H:i:s', strtotime($timeValue));
echo "Định dạng 24 giờ = " . $changeTimeFormat;
// Kết quả: 20:55:00

Trong MySQL: Sử dụng DATE_FORMAT()

Chuyển từ DATETIME 24h sang định dạng 12h có AM/PM:

mysql> SELECT CONCAT('Định dạng 12 giờ trong MySQL=', 
    -> DATE_FORMAT('2019-03-12 20:55:00', '%l:%i %p')) AS OriginalTimeFormat;
+------------------------------------------------+
| OriginalTimeFormat                             |
+------------------------------------------------+
| Định dạng 12 giờ trong MySQL=8:55 PM           |
+------------------------------------------------+

Bảng định dạng thời gian phổ biến

Ký hiệuÝ nghĩaVí dụ
%HGiờ 24h (00-23)20
%h / %IGiờ 12h (01-12)08
%lGiờ 12h không đệm 0 (1-12)8
%iPhút (00-59)55
%sGiây (00-59)00
%pAM/PMPM

Lưu quan trọng

  • MySQL lưu trữ TIME/DATETIME theo định dạng 24h nội bộ
  • Chỉ dùng DATE_FORMAT() khi hiển thị cho người dùng
  • Khi lưu từ PHP sang MySQL, hãy chuyển sang định dạng 24h (H:i:s) trước khi INSERT