ฉันพยายามแปลงเวลาของรูปแบบ2009-09-12 20:57:19
และเปลี่ยนเป็นสิ่งที่ต้องการ3 minutes ago
กับ PHP
ฉันพบสคริปต์ที่มีประโยชน์ในการทำเช่นนี้ แต่ฉันคิดว่ามันกำลังมองหารูปแบบที่แตกต่างเพื่อใช้เป็นตัวแปรเวลา สคริปต์ที่ฉันต้องการแก้ไขเพื่อทำงานกับรูปแบบนี้คือ:
function _ago($tm,$rcs = 0) {
$cur_tm = time();
$dif = $cur_tm-$tm;
$pds = array('second','minute','hour','day','week','month','year','decade');
$lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
if($no <> 1)
$pds[$v] .='s';
$x = sprintf("%d %s ",$no,$pds[$v]);
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0))
$x .= time_ago($_tm);
return $x;
}
ฉันคิดว่าในสองสามบรรทัดแรกสคริปต์พยายามทำสิ่งที่มีลักษณะเช่นนี้ (คณิตศาสตร์รูปแบบวันที่ที่แตกต่างกัน):
$dif = 1252809479 - 2009-09-12 20:57:19;
ฉันจะแปลงการประทับเวลาเป็นรูปแบบ (ยูนิกซ์) ได้อย่างไร