// 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 (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], 'Urs' => $ matches [6], 'Mday' => $ matches [5], 'Mon' => $ matches [3], 'Year' => $ matches [1], ); } |