1

こんにちは私は「最終更新:10分前」または「最終更新:1時間前」または「最終更新:昨日」または「最終更新:3日前」などの形式でユーザーのタイムスタンプを取得しようとしています。

タイムスタンプをエコーアウトできるようにしたい。私がすでに持っているものを以下で見つけてください:

$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";

ありがとう

4

1 に答える 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 

お役に立てれば。

于 2013-02-28T18:22:51.967 に答える