Как получить отметку о времени в социальной сети
Привет! Я пытаюсь получить отметку времени работы пользователя в формате "Последнее обновление: десять минут назад" или "Последнее обновление: 1 час назад" или "Последнее обновление: вчера" или "Последнее обновление: три дня назад" и т. Д.
Я хочу быть в состоянии повторить отметку времени. пожалуйста, найдите то, что у меня уже есть ниже:
$currentUserID=Engine_Api::_()->user()->getViewer()->getIdentity();
$sSqlInviter="select creation_date from engine4_core_status where resource_id=".$currentUserID;
$dbInviterSqli=Zend_Db_Table_Abstract::getDefaultAdapter();
$stmtInviter=$dbInviterSqli->query($sSqlInviter);
$rowInviter=$stmtInviter->fetch();
$post_time_count=$rowInviter['creation_date'];
echo $this->timestamp($post_time_count);
но он начинает считать с того момента, когда я обновляю страницу.
заранее спасибо
Я был в состоянии решить это тоже..
$sSqlInviter="select creation_date from engine4_core_status where resource_id=".$currentUserID." order by creation_date desc limit 1";
Спасибо
1 ответ
Решение
Похоже, у вас есть время от вашего БД, но проблема в том, как правильно его использовать, учитывая часовой пояс. Вы можете попробовать использовать части этого кода:
$oldTz = date_default_timezone_get(); // get old timezone
date_default_timezone_set($viewer->timezone); // temporarily set user's timezone as default
$start = strtotime($starttime); // do something you need
date_default_timezone_set($oldTz); // set default timezone back for the rest part of controller
$starttime = date('Y-m-d H:i:s', $start); // use existing data
Надеюсь это поможет.