WordPress

WordPress HTML5 で time タグの pubdate 属性に ISO 8601 形式の日時を設定

HTML5 の勉強も兼ねて Twenty Eleven を参考にしながらテンプレートを作っていたところ、投稿内容や日時が article タグに含められ、日時は time タグを使って pubdate 属性を指定して表示するようになっていた。

で、よく見ると

datetime="2011-10-24T11:12:46+00:00"

となっていた。う~ん、日本時間なら「+09:00」じゃあなかったかな?

WordPress ループ内なら「the_time(‘c’)」で ISO 形式で表示できるのだが、タイムゾーンが「+00:00」になってしまい、日本時間と9時間ずれてしまう。

直接表示されないので誰も気にしないのだが、職業柄妥協できない(´Д`;)。

という事で、それなら GMT を取得すればいいので「get_post_time(‘U’, true)」を使うと

datetime="2011-10-24T02:12:46+00:00"

になり、取りあえず正しい日時になった。でも、美しくない。そこで強引にできないかいろいろ試してみた。どうやら次のようにするのが一番簡単なようだ。

the_time('Y-m-d¥TH:i:s+09:00');

これで

datetime="2011-10-24T11:12:46+09:00"

と表示された。

(WordPress Ver.3.2.1)