もう少し詳しく状況を書いたほうが良いと思いますよ。
とりあえず、date()関数はPHPにもとからあるものなので、
WordPressの設定とは関係ありません。
そのため、WordPressでタイムゾーンの設定をしても反映されないと思います。
もう少し詳しく状況を書いたほうが良いと思いますよ。
いや、これだけで分かるでしょう。
今の日本時間を表示したいのですが、date()でうまく表示されません。
サーバーはアメリカで、wordpressの管理画面でtimezoneを
utc+9に設定してあります。
まず、PHP の date 関数ヘルプを見ましょう。PHP 5.1.0 以降の場合は簡単な解決方法が書いてあります。
PHP 5.0.x 以前の場合は、time()
で UTC を得て、そこに時差を加えて gmdate()
を使えばいいです。
lilyfan様
ありがとうございました。
なんとかヘルプをたどて、実現できました。
見てる事を期待して・・・
どのように解決されたのでしょうか?
今後、同じ問題に当たった人が検索でこれを見ても解決方法がわかりません。
wpbegさんの質問した内容が今後のWordPress日本版フォーラムの資産として活用できるように
質問したなら、ただ解決しましたの報告ではなく、解決法や解決までの手順などをちゃんと
WordPress日本版フォーラムへ投稿するべきです。
大変失礼いたしました。
まだ、これから少々の改定は行いますが・・
<?php date_default_timezone_set(‘Asia/Tokyo’); ?>
<p>JAPAN : <?php echo date(‘Y/m/d D’); ?> </p>
タイムゾーンの変更をして表示しました。
wpbegさん
解決方法の1つとしての書き込みありがとうございます。
同様の問題にあった人がたどり着いたときには有益な情報となると思います。
読み返すと厳しい書き方になっており申し訳ございませんでした。
PHP 5.1 以降でよかった。
date_default_timezone_set()
はおそらく wp-config.php とか、テーマの functions.php に書けばよく、すべての date()
の直前に書く必要はありません。
# というか、本当は WordPress 本体で実行すべき命令です 😉
# というか、本当は WordPress 本体で実行すべき命令です 😉
WordPress本体wp-settings.phpで
if ( function_exists('date_default_timezone_set') )
date_default_timezone_set('UTC');
UTC固定になるように実行されています。これはどうなんでしょ。
<?php date_default_timezone_set(‘Asia/Tokyo’); ?>
<p>JAPAN : <?php echo date(‘Y/m/d D’); ?> </p>
タイムゾーンの変更をして表示しました。
WordPress の設定が UTC+9 になっているならもっと簡単にこれで取れるんじゃないかな。
<p>JAPAN : <?php echo gmdate( ‘Y/m/d D’, current_time( ‘timestamp’ ) ); ?> </p>
current_time()
が +9 を処理してくれます。
関連投稿