サポート » 使い方全般 » 時間の表示がうまくできません

  • 解決済 wpbeg

    (@wpbeg)


    いつも拝見させていただいております。

    今の日本時間を表示したいのですが、date()でうまく表示されません。
    サーバーはアメリカで、wordpressの管理画面でtimezoneを
    utc+9に設定してあります。
    current_time等で表示されますが、表示中常に表示ではなく
    読み込んだ時の時間が表示でした。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • もう少し詳しく状況を書いたほうが良いと思いますよ。
    とりあえず、date()関数はPHPにもとからあるものなので、
    WordPressの設定とは関係ありません。
    そのため、WordPressでタイムゾーンの設定をしても反映されないと思います。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    もう少し詳しく状況を書いたほうが良いと思いますよ。

    いや、これだけで分かるでしょう。

    今の日本時間を表示したいのですが、date()でうまく表示されません。
    サーバーはアメリカで、wordpressの管理画面でtimezoneを
    utc+9に設定してあります。

    まず、PHP の date 関数ヘルプを見ましょう。PHP 5.1.0 以降の場合は簡単な解決方法が書いてあります。

    PHP 5.0.x 以前の場合は、time() で UTC を得て、そこに時差を加えて gmdate() を使えばいいです。

    トピック投稿者 wpbeg

    (@wpbeg)

    lilyfan様

    ありがとうございました。
    なんとかヘルプをたどて、実現できました。

    見てる事を期待して・・・

    どのように解決されたのでしょうか?

    今後、同じ問題に当たった人が検索でこれを見ても解決方法がわかりません。

    wpbegさんの質問した内容が今後のWordPress日本版フォーラムの資産として活用できるように
    質問したなら、ただ解決しましたの報告ではなく、解決法や解決までの手順などをちゃんと
    WordPress日本版フォーラムへ投稿するべきです。

    トピック投稿者 wpbeg

    (@wpbeg)

    大変失礼いたしました。

    まだ、これから少々の改定は行いますが・・

    <?php date_default_timezone_set(‘Asia/Tokyo’); ?>
    <p>JAPAN : <?php echo date(‘Y/m/d D’); ?> </p>

    タイムゾーンの変更をして表示しました。

    wpbegさん

    解決方法の1つとしての書き込みありがとうございます。
    同様の問題にあった人がたどり着いたときには有益な情報となると思います。

    読み返すと厳しい書き方になっており申し訳ございませんでした。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    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固定になるように実行されています。これはどうなんでしょ。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    <?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 を処理してくれます。

    関連投稿

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「時間の表示がうまくできません」には新たに返信することはできません。