wpのphp日付取得で最新時刻のものだけうまく判定できない時は9時間ずらして対処

web制作

wordpress環境の中でphpコードdateを使うと、最新日時のものだけ判定しない時があります。

これは、wordpressに利用されている、UTC (世界標準時) が原因です。



date('Y-m-d', strtotime('today'))

このように記述した時、レンタルしているサーバーが海外にあると、そのまま利用しても大丈夫ですが、しかし、日本国内のサーバーで上記の記述をすると、9時間のずれが発生してしまう時があります。

こうなると、たとえば10/1の判定をしたい時、10/1の09:00以降にならないと、10/1を判定しないということが起きます。

なので、



date('Y-m-d', strtotime('+9hour'));

と記述してあげると、日本国内サーバーであっても、10/1になった瞬間、ちゃんと10/1の判定となります。

注意したいのは、+9hourにしたソースコードを、海外サーバーに移転した時にそのまま使うと、タイムラグが発生してしまうので、戻してあげる必要がある、ということです。

その他の詳しい方法などは、下記ページの方がまとめてくださっていますので、ぜひ参考に。

▼WordPressで現在時刻を利用すると9時間ずれてしまう問題
https://qiita.com/yousan/items/a385f794a9bb433aecbb

まとめ

wpのタイムスタンプを扱う時は、自分のサーバーの国籍もチェックしておくと、ヘンなエラーを起こさずにすみますので、ぜひチェックしてみてください!

最後に一言

サーバーが原因と気づくのに時間かかってしまったマン

この記事が参考になったら「いいね!」

wordpress

wpのphp日付取得で最新時刻のものだけうまく判定できない時は9時間ずらして対処


SNSのシェアはこちらから!

  • 1
    このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

運営者のYoshiと申します。WEB制作は、HTML/css/javascript/PHP/git/wordpress/MT/DB/photoshop/illustrator/fireworksなど扱えます。サーバー・アプリなども習得中。