Как получить отметку о времени в социальной сети

Привет! Я пытаюсь получить отметку времени работы пользователя в формате "Последнее обновление: десять минут назад" или "Последнее обновление: 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 

Надеюсь это поможет.

Другие вопросы по тегам