web-dev-qa-db-ja.com

異なる日付形式の日付値

日付フィールドがあります。私のテンプレートでは、2つの異なる方法で日付を表示したいと思います。ディスプレイで日付に使用するフォーマットを設定できることを知っています。私のテンプレートで日付を印刷するには、.

<?php print $node->field_date[0]['view'] ?>

別の形式で印刷したい

<?php print format_date($node->field_date[0]['timestamp'],"custom","H:i")?>

しかし、これは正しい時間を示していないようです...

5
user788

私たちは使用する傾向があります:


print format_date(strtotime($node->field_date[0]['value']), 'custom', 'H:i');

おそらくそれはあなたの状況でうまくいくでしょうか?

4
Chris Cohen

ユーザーのタイムゾーンを尊重するロジックを追加すると、次のようにうまくいくと思います。

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番目の例を使用します。

すばらしい利点は、同じ情報を表示している別のユーザーが自分のタイムゾーンで日付/時刻を確認できることです。

0
Blake Senftner