2012-09-16 30 views
15

thể trùng lặp:
Convert one date format into another in PHPPHP, loại bỏ thời gian và nhiều hơn nữa

Bắt đầu từ:

$date = '2012-09-09 03:09:00' 

Tôi muốn làm hai việc.

  1. Xóa thời gian khỏi chuỗi, vì vậy nó sẽ trở thành "2012-09-09".
  2. Tính số năm, ngày và giờ đã trôi qua kể từ ngày này bằng cách sử dụng ngày/giờ hiện tại của máy chủ.

Có ai giúp tôi tìm ra điều này không?

+0

echo (ngày, 'Y-M-D', $ date); – Satya

+0

Câu hỏi thứ hai của bạn là bản sao của [Cách tính toán sự khác biệt giữa hai ngày sử dụng PHP?] (Http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates- using-php) – Justin

Trả lời

35

Sử dụng DateTime:

$date = '2012-09-09 03:09:00'; 

$createDate = new DateTime($date); 

$strip = $createDate->format('Y-m-d'); 
var_dump($strip); // string(10) "2012-09-09" 

$now = new DateTime(); 
$difference = $now->diff($createDate, true); 
var_dump($difference); 

/* object(DateInterval)#3 (8) { 
    ["y"]=> 
    int(0) 
    ["m"]=> 
    int(0) 
    ["d"]=> 
    int(7) 
    ["h"]=> 
    int(13) 
    ["i"]=> 
    int(4) 
    ["s"]=> 
    int(38) 
    ["invert"]=> 
    int(0) 
    ["days"]=> 
    int(7) 
} */ 
+0

thêm múi giờ !! –

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