php将日期格式转换成xx天前的格式
来源:绵阳动力网络公司  时间:2015-04-17  阅读:17

今天绵阳动力网络公司为你介绍php将日期格式转换成xx天前的格式,涉及php时间操作及正则匹配的技巧,非常具有实用价值,这段代码可以把时间格式化成3天前,5秒前,2年前的形式。需要的朋友可以参考下:

// that date was.... eg: 2 days ago, 3 minutes ago. 
function ago($d) {  $c = getdate();  $p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds'); 
 $display = array('year', 'month', 'day', 'hour', 'minute', 'second'); 
 $factor = array(0, 12, 30, 24, 60, 60); 
 $d = datetoarr($d);  for ($w = 0; $w < 6; $w++) {  
if ($w > 0) {   $c[$p[$w]] += $c[$p[$w-1]] * $factor[$w]; 
  $d[$p[$w]] += $d[$p[$w-1]] * $factor[$w]; 
 } 
 if ($c[$p[$w]] - $d[$p[$w]] > 1) { 
   return ($c[$p[$w]] - $d[$p[$w]]).' '.$display[$w].'s ago'; 
 }
  }  
return ''; } 
// you can replace this if need be. 
 // This converts my dates returned from a mysql date string 
 // into an array object similar to that returned by getdate(). 
function datetoarr($d) { 
 preg_match("/([0-9]{4})(\\-)([0-9]{2})(\\-)([0-9]{2})([0-9]{2})(\\:)([0-9]{2})(\\:)([0-9]{2})/",$d,$matches); 
 return array( 
  'seconds' => $matches[10], 
  'minutes' => $matches[8],  
 'hours' => $matches[6], 
  'mday' => $matches[5], 
  'mon' => $matches[3],
   'year' => $matches[1],  
 ); 
}

 
  • 电话咨询

  • 0816-2318288