WordPress のインストールディレクトリのルートにある wp-load.php を include シてナニするプログラムを書ゐた。
動作は問題なくするンだが、 date("Y-m-d H:i:s") を使ってログを出させると、9時間ヅレてる。
日本時間 20時XX分→11時XX分
ファイルの冒頭で
date_default_timezone_set('Asia/Tokyo') ;
を使ゐ、タイムゾーンを「日本」に設定シてるにもカカワラヅだ。
で、
wp-load.php
を追ぅと、
wp-config.php が include され、さらに wp-config.php には wp-settings.php が include され、
ソノ wp-settings.php の66行目付近に
// WordPress calculates offsets from UTC.
// phpcs:ignore WordPress.DateTime.RestrictedFunctions.timezone_change_date_default_timezone_set
date_default_timezone_set( 'UTC' ) ;
とあるノォ発見(協定世界時)!
wp-load.php → wp-config.php → wp-settings.php
コレを日本にすれば解決/怪傑するかもシレン/試練が、他にインストールした WordPress の wp-settings.php に於ゐても「UTC」にナッテルし、
WordPressをインストールする際に、コノ箇所を書き換ゑるようなアレはナゐ。
管理画面の設定にはタイムゾーンの選択肢があり、
当然「東京」を選択シてるンだが、先の設定は「UTC」とナッテル。
WordPressが 使う DB のテーブル(wp_posts)には、
post_date / post_date_gmt
post_modified / post_modified_gmt
とユ~ヨ~ニ、日本時間とGMTの2ツの時間が記録されてる。
つまり、基準はアクマ/惡魔でも「UTC」で、ソコから算出した現地時間を使ッてる?
なンで、上記の「UTC」を書き換ゑルと、基準が変わッてシまゐ、面倒なコトになりかねナゐ。
せや/瀬谷から、ファイルの冒頭ではなく、wp-load.php を include させた後で
date_default_timezone_set('Asia/Tokyo') ;
を宣言し、ログを出させると、日本時間と相成ッた。
分かるか/若ルカ!ドァヴォ!!
関連:[WordPress] iframeタグが投稿できない(消える)問題 [wp-load.php]