does anyone sees anything odd here, i made this script and it partly works, but after 1 day it displays the time incorrectly and i can't see where the problem is.. $content['time'] is in unix timestamp.
if ($content['time'] && $content['time'] > 0) {
$dateline = (time() - $content['time']) / 60;
if ($dateline < 1) {
if (($dateline * 60) < 1) {
$content['postdate'] = ' Now!';
} elseif (($dateline * 60) < 2) {
$content['postdate'] = (int)($dateline * 60) . ' second ago!';
} else {
$content['postdate'] = (int)($dateline * 60) . ' seconds ago!';
}
} elseif ($dateline < 2) {
$content['postdate'] = (int)($dateline) . ' minute ago';
} elseif ($dateline < 60) {
$content['postdate'] = (int)($dateline) . ' minutes ago';
} elseif ($dateline < (120)) {
$content['postdate'] = (int)($dateline / 60) . ' hour ago';
} elseif ($dateline < (60 * 24)) {
$content['postdate'] = (int)($dateline / 60) . ' hours ago';
} elseif ($dateline < (60 * 48)) {
$content['postdate'] = 'Yesterday, '. date("g:i a", $content['time']);
} else {
$content['postdate'] = date("M jS, g:i:s a", $content['time']);
}
}