Possible Duplicate:
PHP: formatting time Stackoverflow or Apple Mail-style
Hi can someone please help me i am echoing out the timestamp in the mysql table but i want php to calculate the timestamp in days/hours/minutes.
Is this possible, im still new to php and mysql and am learning so could someone please guide me in the right direction or show me how this would be done. thank you
<? echo "{$news['date_added']}";?>
i want the output to be number of seconds: added 12 seconds ago or added 3 minutes ago or added 4 days ago or added 4 months ago
would i be right in thinking the script should look something like this:
function nicetime($date)
{
if(empty($date)) {
return "No date provided";
}
$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$unix_date = strtotime($date);
// check validity of date
if(empty($unix_date)) {
return "Bad date";
}
// is it future date or past date
if($now > $unix_date) {
$difference = $now - $unix_date;
$tense = "ago";
} else {
$difference = $unix_date - $now;
$tense = "from now";
}
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
if($difference != 1) {
$periods[$j].= "s";
}
return "$difference $periods[$j] {$tense}";
}
$date = "{$news['content']}";
$result = nicetime($date); // 2 days ago ?>