日付フィールドがあります。私のテンプレートでは、2つの異なる方法で日付を表示したいと思います。ディスプレイで日付に使用するフォーマットを設定できることを知っています。私のテンプレートで日付を印刷するには、.
<?php print $node->field_date[0]['view'] ?>
別の形式で印刷したい
<?php print format_date($node->field_date[0]['timestamp'],"custom","H:i")?>
しかし、これは正しい時間を示していないようです...
私たちは使用する傾向があります:
print format_date(strtotime($node->field_date[0]['value']), 'custom', 'H:i');
おそらくそれはあなたの状況でうまくいくでしょうか?
ユーザーのタイムゾーンを尊重するロジックを追加すると、次のようにうまくいくと思います。
format_date($timestamp, 'custom', 'g:i a, d F, Y', variable_get('date_default_timezone', 0));
しかし、私は実際にこれがよりうまく機能することを発見しました:
format_date($timestamp, 'custom', 'g:i a, d F, Y',0);
「timezone」パラメーターに0を渡すと、D6ロジックがユーザーの構成済みタイムゾーンを取得します。または、ユーザー構成のタイムゾーンが有効になっていない場合、最初の例と同じことを行います。したがって、そうでない場合は、ユーザーが構成したタイムゾーンを有効にして、2番目の例を使用します。
すばらしい利点は、同じ情報を表示している別のユーザーが自分のタイムゾーンで日付/時刻を確認できることです。