if(! function_exists('datetime_convert')) {
function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d H:i:s") {
+ // Defaults to UTC if nothing is set, but throws an exception if set to empty string.
+ // Provide some sane defaults regardless.
+
+ if($from === '')
+ $from = 'UTC';
+ if($to === '')
+ $to = 'UTC';
+ if($s === '')
+ $s = 'now';
+
// Slight hackish adjustment so that 'zero' datetime actually returns what is intended
// otherwise we end up with -0001-11-30 ...
// add 32 days so that we at least get year 00, and then hack around the fact that
// Limited to range of timestamps
if(! function_exists('relative_date')) {
-function relative_date($posted_date) {
+function relative_date($posted_date,$format = null) {
$localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date);
);
foreach ($a as $secs => $str) {
- $d = $etime / $secs;
- if ($d >= 1) {
- $r = round($d);
- return $r . ' ' . (($r == 1) ? $str[0] : $str[1]) . t(' ago');
+ $d = $etime / $secs;
+ if ($d >= 1) {
+ $r = round($d);
+ // translators - e.g. 22 hours ago, 1 minute ago
+ if(! $format)
+ $format = t('%1$d %2$s ago');
+ return sprintf( $format,$r, (($r == 1) ? $str[0] : $str[1]));
}
}
}}