2年近く前に知ってから愛用している moment.js 曜日を出力しようと思って、
各国語対応の moment-with-locales.js を使ったら フォーマット dddd または、ddd を使ったら曜日が日本語で出力されない。
あれ、そうだっけ?!
しかたなく、moment-with-locales.js 利用のまま、、moment.js の locale 関数を呼ぶことにしたら、ちゃんと曜日が出るものの、
chrome のコンソールをチェックすると、
Deprecation warning: use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.
ネットで検索してたら、、
github.com
なんだと! locale 関数じゃなくて、結局、updateLocale 関数を呼ぶのか!!
moment-with-locales.js 利用では、
moment.locale("ja", { weekdays: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], weekdaysShort: ["日","月","火","水","木","金","土"], } );
でなくて、、
moment.updateLocale("ja", { weekdays: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], weekdaysShort: ["日","月","火","水","木","金","土"], } );
moment.min.js を利用するなら、locale関数、
もっとも、moment-with-locales.js を使わずに、moment.min.js と、
https://github.com/moment/moment
ここから、locale にある ja.js を使用することにすれば、locale 関数も updatelocale関数も呼ばなくて済む。
CDNからの取得で書くと
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/locale/ja.js"></script>
だけどダウンロードして自分ところで抱えて使う。
(1) moment-with-locales.js を使う場合
自分のコードで moment updateLocale関数を実行
(2) moment.min.js を使う場合
自分のコードで moment locale関数を実行
(3) moment.min.js と ja.js を使う場合
locale 関数等は呼ばない。
(1) のmoment-with-locales.js をよく使ってたから、updateLocale関数呼出しが面倒でも
これが良いのか?
たった曜日のために。。悩ましい。