2009-12-18 33 views

Trả lời

13

đây:

echo date("d/m/Y", strtotime('2009-12-09 13:32:15')) 
0

Sử dụng phương pháp date().

print date("d/m/Y", strtotime("2009-12-09 13:32:15")); 
4

Bạn có thể sử dụng strtotime để có được những dấu thời gian của ngày đầu tiên, và date để chuyển đổi nó thành một chuỗi bằng cách sử dụng định dạng mà bạn muốn.

$timestamp = strtotime('2009-12-09 13:32:15'); 
echo date('d/m/Y', $timestamp); 

Và bạn sẽ nhận được:

09/12/2009 



[sửa 2012/5/19] Lưu ý rằng strtotime() bị một vài hạn chế khả năng quan trọng :

  • Định dạng của ngày phải là YYYY-MM-DD; nó có thể hoạt động trong một số trường hợp khác, nhưng không phải lúc nào cũng vậy!
  • Ngoài ra, làm việc với UNIX Timestamps, như thực hiện với date()strtotime() có nghĩa là bạn sẽ chỉ có thể làm việc với các ngày giữa năm 1970 và 2038 (có thể là một phạm vi rộng lớn hơn, tùy thuộc vào hệ thống của bạn - nhưng không phải và illimited một anyway)

Làm việc với lớp DateTime thường là một lựa chọn tốt hơn nhiều:

  • Bạn có thể sử dụng một trong hai DateTime::__construct() hoặc DateTime::createFromFormat() để tạo ra một 01. đối tượng - đối tượng thứ hai chỉ có sẵn với PHP> = 5.3, nhưng cho phép bạn chỉ định định dạng ngày, có thể hữu ích,
  • Và bạn có thể sử dụng phương pháp DateTime::format() để chuyển đổi đối tượng đó sang bất kỳ định dạng ngày nào có thể muốn làm việc cùng.
0
$long_date = '2009-12-09 13:32:15'; 

$epoch_date = strtotime($long_date); 

$short_date = date('m/d/Y', $epoch_date); 

Trên đây không phải là con đường ngắn nhất để làm việc đó, nhưng có ngày dài như một dấu thời gian kỷ nguyên đảm bảo rằng bạn có thể tái sử dụng ngày dài ban đầu để có được kết quả đầu ra định dạng ngày tháng khác, như nếu bạn muốn quay trở lại và chỉ có thời gian ở một nơi khác.

Các vấn đề liên quan