Мой php или Mysqli время / метки времени показываются вне?
Код
$la=time()-$row['laston'];
$unit="secs";
if($la >= 60)
{
$la=(int) ($la/60);
$unit="mins";
}
if($la >= 60)
{
$la=(int) ($la/60);
$unit="hours";
if($la >= 24)
{
$la=(int) ($la/24);
$unit="days";
}
print "<li><a class=\"button\" href=\"user.php?p={$row['uid']]'}\">{$row['display_name']} ~($la $unit)</a></li>";
а также $row['laston'];
хранится как: 1392490566
Моя проблема в том, что он показывает как:
User1 ~ (-58secs) когда я обновляю страницу, я ожидаю, что она будет 0-2 секунды, а не отрицательное значение?
Может кто-нибудь, пожалуйста, помогите мне понять, что вызывает это?
и будет меняться $la=time()-$row['laston'];
в $la=time()-$row['laston']+58;
быть подходящим решением?
1 ответ
Решение
Попробуй это:
$la = time() - $row['laston'];
if($la > 0) {
$newLa = $la / 24;
$unit = "days";
} if($la < 84600) {
$newLa = $la / 60;
$unit = "hours";
} if($la < 3600) {
$newLa = $la / 60;
$unit = "mins";
} if($la < 60) {
$newLa = $la;
$unit = "secs";
}
echo round($newLa, 2) . ' ' . $unit;