18
NOVEMBER
ウェブMONDAY 2019 / 11 / 18
wordpress 5.3で追加されたwp_dateとdate_i18nを実際に使って比べてみた。
Text by Shinji Sato
こんにちは。
佐藤です。
最近wordpressが5.3にアップデートされ、個人的に驚いたのが
非推奨になった関数の中に
「date_i18n()」
があったことです。
非推奨になった関数はいつか廃止されていきます。。。
まぁ、廃止まではそれなりに猶予はあると思いますが。
でも
この関数、使っている人はかなり多いのではないでしょうか?
ちなみにdate_i18n()は何に使うかというと日付の取得に使用します。
date()関数だとタイムゾーンがズレている場合に時間がズレてしまいますが。
date_i18n()だと簡単に現在の時間の取得ができます。
まぁ、date()より手軽に現在時刻が取得できると思っておけばだいたい正解です。
そんな便利なdate_i18n()がなくなったらどうするんだい?
大丈夫です!
バージョン5.3からはdate_i18n()の代わりに新しく
「wp_date()」
が登場!!
という訳で実際に使って違いを比べてみましょう。
まずは現在時刻、2019.11.16 18:06に測定しています。
date_i18n、wp_date共に正しい時間が取得できました。
dateはタイムゾーンがズレているので9時間ほどズレていますね。
では次に昨日の日付けを取得してみましょう。
第二引数に「strtotime(“-1 day”)」と指定して取得しています。
date_i18nではdateと同じ9時間ズレた値に、
でもwp_dateでは正確に一日前の日付けが取れてますね。
より便利になって頼もしいかぎりです。
最後に速度を図ってみましょう。
どの処理も高速ですが、
date_i18nよりwp_dateの方が2.5倍近く早いですね。
ただ、まぁこれ5.3へのアップデートで
date_i18nの関数も更新されてるのであまりフェアな測定ではないんですけね。。。
※一部の分岐以外は最終的にwp_dateで日付を取得する形に変更されています。
どちらにせよ今後はwp_dateの方を使っていきましょう。
※5.3からしか対応していないので使う際はバージョンアップをお忘れなく。