web-dev-qa-db-ja.com

デフォルトのタイムゾーンはUTCとしてハードコードされていますか?

私が書いていたプラグインをデバッグしている間、wp-settings.phpの36行目で、date_default_set_timezone()関数を呼び出すことでデフォルトのタイムゾーンがUTCにハードコードされていることに気付きました。これは、PHP日付/時刻関数への呼び出しがUTCを現地時間として機能することを意味します。

これがWordpressチームによる正当なデザインの選択である理由を誰かに教えてください。私は彼らがUTCとして内部的に時間を保存して操作したいかどうかを理解していますが、彼らがそのような論理をする必要があるとき明示的に "UTCモード"に切り替えることはもっと良い方法ではないでしょうか?

サーバーのphp.iniのタイムゾーン設定を知っていると仮定すると、このハードコードされたUTCは基本的にphp.netの date()関数の説明を無効にします

date - フォーマットa local time/date

どちらが悪いことに私を襲うのでしょう。

6
Gregarious

どういうわけか、current_time関数を見逃していました。これは、状況と、現在のブログの現地時間を取得する必要性に適切に対処する方法についての適切な説明を提供します。

http://codex.wordpress.org/Function_Reference/current_time

私の純粋主義者はまだWPがphp.iniのタイムゾーン設定を時代遅れにすることを嫌いますがあなたに選択肢を与えません。つぶやくつぶやく

7
Gregarious

WordPressは単純化されたスクリプトではなく、広範囲にわたるWebアプリケーションです。ローカライズされた日付/時刻情報を出力するための独自のタイムゾーン設定および独自の機能が含まれています。

ベースラインタイムゾーンを設定し、その上で操作する方が、関連するすべての機能を中心に前後に変更するよりもはるかに簡単です。

2
Rarst