データベースに編集列を設定しました。データベースエントリが変更されるたびに、正しい時刻がスタンプされます。何らかの奇妙な理由により、この日時が表示されるときは常に、データベースのタイムスタンプより5時間遅れて表示されます。
私ができる唯一のことは、時間に5時間を追加することですが、オンラインの例から組み合わせを取得してスタンプに5時間を追加することはできません。誰かが私を助けてくれることを願っていました。
if ($comment->deleted == 1) { } else {
$db = JFactory::getDbo();
$db->setQuery('SELECT editdate
FROM #__jcomments
WHERE id = ' . $comment->id .'');
$db->loadResult();
$edit = $db->loadResult();
if ($edit > 0) {
echo JHtml::_('date', $edit, JText::_('l F j Y g:ia')); } }
デフォルトでは、JHtml::date()
はユーザーのタイムゾーンを考慮します。設定されていない場合は、デフォルトでサイトのタイムゾーンになります(グローバル構成で設定)。日付をそのままにするには、値null
を使用して別の引数を渡します。また、フォーマットにハードコードされた文字列を使用しているため、JText::_()
でラップする必要はありません。
_echo JHtml::_('date', $edit, 'l F j Y g:ia', null);
_
$db->loadResult()
の最初のインスタンスも削除する必要があります。これらのうち2つを使用すると、クエリが2回実行されます。