the_time(‘c’);のタイムゾーンがずれてた

各記事の投稿時間はtime要素で表示しています。そのdatetime属性をwordpressのthe_time(‘c’)で出力していたのですが、2012-12-09T01:23:45+00:00 のようにタイムゾーンが00:00となっているのに気が付きました。

WordPressのタイムゾーン設定を忘れていたかなと思ったのですが、そんなこともなく+9時間が設定されていました。

そこでぐぐってみると、まさに、な回答を発見しました。

要するにphpのdate.timezone設定に依存しているということみたいです。確認してみるとno valueのようでした。

今のサーバーでは直接php.iniのdate.timzoneが弄れなかったので、取り急ぎ回答と同じくfunction.phpに date_default_timezone_set(‘Asia/Tokyo’); をセットして回避出来ました。

タイムゾーン設定がわざわざあるのにphpの環境設定に依存してるのはなにか理由があるんでしょうかね。フォーラムの記事を漁るとだいたい「サーバー設定ではなくてWordpressのタイムゾーンを優先するように出来ないのでしょうか?」「出来ないみたいですね。バグのような気がします…」みたいな記事がいくつかあるのは確認したのですが、本当のところはどうなのかはっきりしませんでした。