How many days ago


کد PHP:

<?PHP
  
// convert a date into a string that tells how long
// ago 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(01230246060);
     
$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 the 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],
     );
}
  
?>