|
// 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],
);
}
|