toLocaleDateStringに悩まされたので備忘録。
ブログのRSSフィードをWEBページで表示する際、jQueryプラグインのzRssFeedを使ってみました。
フィードを読み込むと日付が下のような感じで、英語になっちゃいます。
Friday, June 01, 2012 21:26:54
zRssFeedについて紹介している様々なサイトを見たのですが、皆さん普通に日本語の日付で表示されている様子。
実はこれ、ChromeとSafariで見ると英語表記になってしまうようです。
試しにFirefoxやIEで見てみると…、ちゃんと日本語表記になっています。
脱力。
これは、プラグインの日付表記に使われているメソッドが、toLocaleDateString だったからでした。
Date オブジェクトの日付を OS のロケールを使って文字列に変換するんですが、ブラウザによってフォーマットは違うのだとか。
こんなことで半日費やすとは…。
ということで、以下のページを参考にさせていただきました。
すいません教えてください!!! Queryなんですが、zRSSというものなんですが –
Yahoo!知恵袋
ただ、zRssFeedのバージョンによって、変数名が違うようですので、そこは適宜修正してください。また、参考にさせていただいた上記ページでは、年表記にgetYearを使用していましたが、この部分はgetFullYearに変更しました。
//変更前 var pubDate = entryDate.toLocaleDateString() + ' ' + entryDate.toLocaleTimeString(); //変更後 (※時間は必要なかったので削除しています。) var pubDate = entryDate.getFullYear() + "年" + (entryDate.getMonth() + 1) + "月" + entryDate.getDate() + "日 ";