我在我的nginx托管服务器上收到此错误:
Fatal error: TimeElapsedString(): Unknown property (w) in /var/www/script/system/framework.engine.php on line 51
TimeElapsedString:
function TimeElapsedString($datetime, $full = false) { date_default_timezone_set('UTC'); $now = new DateTime; $ago = new DateTime($datetime); $diff = $now->diff($ago); $diff->w = floor($diff->d / 7); // LINE 51 $diff->d -= $diff->w * 7; $string = array ( 'y' => 'year', 'm' => 'month', 'w' => 'week', 'd' => 'day', 'h' => 'hour', 'i' => 'minute', 's' => 'second', ); foreach ($string as $k => &$v) { if ($diff->$k) { $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : ''); } else { unset($string[$k]); } } if (!$full) $string = array_slice($string, 0, 1); return $string ? implode(', ', $string) . ' ago' : 'just now'; }
在本地主机上工作完美的一切(wamp)托管服务器中的php版本是5.3.3所以我真的没有看到这个问题.我也在另一个nginx服务器中使用了这个功能,它也没有任何问题.
该函数来自这个答案:在PHP中将时间戳转换为时间,例如1天前,2天前...