種別[statuses] cocolog:80048087
セクションJRF のひとこと
日時2014年07月01日
元URLhttp://jrf.cocolog-nifty.com/statuses/2014/07/firef.html

Firefox の JavaScript の Date の…

Firefox の JavaScript の Date の toLocaleString や toLocaleDateString の挙動が変わった。
JRF 2014年7月1日

おそらく4月下旬リリースの Firefox 29 からの仕様変更だと思う。集計作業してて今ごろやっと気付いた。このメソッドはブラウザによって動作が違うとのことだったけど、Greasemonkey で使ってるから、まぁ、いいかと思って使ってた。

《Firefox 29 for developers - Mozilla | MDN》
https://developer.mozilla.org/ja/docs/Mozilla/Firefox/Releases/29

JRF 2014年7月1日

(new Date).toLocaleDateString() とすると、それまでは「2014年7月1日」とかいう値が返ってきてたのに、今は「2014/7/1」とかいう値になっている。

↓を参考に toLocaleDateString("ja-JP") とかしても元のようにはならない。

《ECMA-402 Internationalization API - hogehoge @teramako》
http://d.hatena.ne.jp/teramako/20130521/p1

JRF 2014年7月1日

どうしても元の値が欲しいなら、「var d = new Date; var s = d.getFullYear() + "年" + (d.getMonth() + 1) + "月" + d.getDate() + "日";」とかを使ってやれば問題ないはず。

新しい toLocaleDateString() を使って "/" で split して結合ってのは、また仕様が元に戻ったりするのが怖い…。

[google: 2038年問題]とかあるから、それに向けて日付担当にそろそろ仕事を覚えさせようとしているのか?…というのは気が早過ぎか。

JRF 2014年7月1日

……。

私が作ったもので関連としては↓。これはでも年月日表示なのが前提。変えるのは簡単(rewrite_gengou 関数をちょっと変えるだけ)だけど、日付ってほんといろいろフォーマットがあるからね…、まぁ、私がやる必要性は感じないな…。

《gengou.js:日付を後付けで元号表示にする》
http://jrf.cocolog-nifty.com/software/2014/02/post.html

JRF 2014年7月1日