ACF (Advanced Custom Field) で作成したカスタム日付を使ってあれこれ計算していているうちに、9時間ズレてしまうことに気づいたので結果的に直った方法をメモします。
サイトは日本国内向けで、タイムゾーンは東京(UTC+9)の想定です。
現象としては、午前9時まではまだ前日の日付になってしまうようでした。
そのため朝チェックしないと気づけませんでした 😫
やったこと
シンプルに DateTime オブジェクトを作成する際にタイムゾーンオプションを渡すだけです。
$timezone = wp_timezone(); // WordPress 管理画面で設定しているタイムゾーンを取得
$today = new DateTime('now', $timezone); // 現在の日付でオブジェクトを取得
$date_object = DateTime::createFromFormat('Y-m-d', '2025-04-01', $timezone); // Y-m-d 形式の日付文字列からオブジェクトを生成
また、 date_default_timezone_set
は古い方法で、逆に時間がズレる原因になるので使用していたら削除 OR コメントアウトします
// 使わない!
// date_default_timezone_set('Asia/Tokyo');
以上です
Related posts
関連記事
pngquant と Automator を使って Finder から秒で PNG を圧縮できるようにショートカットを作ろうとしたら一瞬つまづいたのでメモします。 先に答え 中括弧 {} じゃなくて丸括弧 () を使え! […]
Shopify のカート属性 (Cart Attributes) Javascript で追加・取得する方法メモです。
* 応急処置程度の FIX です まずはご覧ください おお ? ? ? なにがどうなっているのでしょう これは EC サイトとしてマズイ。 ということで調べてみました ⋮⋮⋮ どうやら ¥ のように $ と違って小数点の […]
WP_DEBUG を true にしたいけど Deprecated のエラーも吐き出しちゃってちょっと邪魔ってなったときに。 もちろんサーバーに .log ファイルでエラーメッセージを保存する方法もありますが、FTP で […]
Tags