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
関連記事
Bogo の記事翻訳機能をカスタム投稿タイプにも対応させるコードがオンライン上に散見されますが、自動でやるときちょっぴりつまづいたのでここに超簡単にメモします。 結論 本記事作成時 2025年2月3日 時点では、Word […]
設定さえすればログインしていないユーザにも非アクティブなテーマをプレビューさせることができる Theme Switcha ですが、プレビュー時限定の処理をさせるにはどうすればよいのか… 🤔 必要にせまられたのでプラグイン […]
* 応急処置程度の FIX です まずはご覧ください おお ? ? ? なにがどうなっているのでしょう これは EC サイトとしてマズイ。 ということで調べてみました ⋮⋮⋮ どうやら ¥ のように $ と違って小数点の […]
Tags