2010-03-18 56 views
12

Tôi đang cố gắng trích xuất dấu thời gian unix từ mysql và chuyển đổi nó thành dấu thời gian ISO8601. Tôi cần nó để định dạng ngày thành giống như facebook (hoặc ngăn xếp tràn như :) '30 phút trước 'thay vì hiển thị ngày giờ chính xác. Có ai xử lý nó không?Làm thế nào để chuyển đổi một dấu thời gian unix thành dấu thời gian ISO8601 trong PHP?

+0

Dưới đây là một jQuery thư viện tốt đẹp cho nó, nó là một trong những bạn đang sử dụng? http://github.com/rmm5t/jquery-timeago – joar

Trả lời

16
$timestamp = '1268932078'; 

$iso8601 = date('c', $timestamp); 

Nhưng có các chức năng được tích hợp sẵn để giúp bạn nếu bạn không muốn tự cuộn, ví dụ: DateTime::diff.

3

Facebook Like Time Format:

Một thời gian chức năng khác biệt mà kết quả đầu ra thời gian trôi qua trong phong cách facebook của: 1 ngày trước, hoặc 4 months ago.

http://www.php.net/manual/en/function.time.php#89415

function nicetime($date) 
{ 
    if(empty($date)) { 
     return "No date provided"; 
    } 
$periods = array("second","minute","hour","day","week","month","year","decade"); 
$lengths = array("60","60","24","7","4.35","12","10"); 
$now = time(); 
$unix_date = strtotime($date); 
    if(empty($unix_date)) {  
     return "Bad date"; 
    } 
    if($now > $unix_date) {  
     $difference  = $now - $unix_date; 
     $tense   = "ago"; 

    } else { 
     $difference  = $unix_date - $now; 
     $tense   = "from now"; 
    }  
    for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) { 
     $difference /= $lengths[$j]; 
    } 
    $difference = round($difference); 
    if($difference != 1) { 
     $periods[$j].= "s"; 
    } 
    return "$difference $periods[$j] {$tense}"; 
} 

// convert timestamp to date ISO8601 
$timestamp = date('c', '1268932078'); 
// convert to nice date 
echo nicetime($timestamp); //40 years ago 
+0

Điều này không trả lời được câu hỏi. – bdsl

+0

@ bdsl: bạn là anh chàng đúng, tôi đã không đọc câu hỏi tốt như tôi nên, btw, tôi đã cập nhật câu trả lời. cảm ơn vì đã báo cáo ... –

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