Trong PHP, bạn có thể:
- Chuyển đổi ngày thành dấu thời gian, sử dụng
strtotime
- Định dạng nó bằng cách sử dụng ngày tháng
Một chút như thế này, tôi muốn nói:
$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);
Nhưng điều này sẽ chỉ hoạt động cho các ngày từ năm 1970 đến năm 2038, vì dấu thời gian được lưu trữ dưới dạng số nguyên 32 bit, đếm từ 1970-01-01.
Trong MySQL, tôi cho rằng date_format
hàm sẽ thực hiện thủ thuật.
Ví dụ:
mysql> select date_format(curdate(), '%d/%m/%Y');
+------------------------------------+
| date_format(curdate(), '%d/%m/%Y') |
+------------------------------------+
| 19/03/2010 |
+------------------------------------+
1 row in set (0.03 sec)
Và, vì lợi ích của sự hoàn chỉnh, một giải pháp khác, trong PHP, không bị giới hạn bởi những năm 1970-2038 sẽ là sử dụng DateTime
lớp học, và đặc biệt là:
-
DateTime::__construct
để phân tích cú pháp ngày được DB trả về -
DateTime::format
để định dạng ngày tháng theo bất kỳ định dạng nào bạn muốn.
Ví dụ:phần mã này:
$date = new DateTime('2010-03-19');
echo $date->format('d/m/Y');
sẽ giúp bạn có được kết quả này:
19/03/2010