Moment.jsとは
JavaScriptで日付の処理は面倒ですが、いろいろと便利にしてくれるのが、Moment.jsです。
備考
- Moment.jsは、
ver 2.8.3
で確認 - 2014年10月24日に実施したので、それを元に以下計算されてます
基本的な使い方
JSを読み込む
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.2/moment.min.js"></script>
以降、script内
// momentオブジェクトをセット
var m = moment(); //現在の時刻が入る
var output = m.format('YYYY年MM月DD日 HH:mm:ss dddd');
console.log(output); // => 2014年10月24日 11:44:00 Friday
各単位で出力
var m = moment();
// 各単位のメソッド
/*
m.year(); // 年
m.month(); // 月 ※ 0〜11の値(始まりが0なので-1で計算)
m.date(); // 日
m.day(); // 曜日
m.hours(); // 時
m.minutes(); // 分
m.seconds(); // 秒
m.milliseconds(); // ミリ秒
*/
console.log(m.year()); // => 2014
現在の時刻ではなく、指定した日付の場合
// momentオブジェクトをセット
var m = moment("20150101", "YYYYMMDD"); // 第一引数:指定日時、第二引数:フォーマット
var output = m.format('YYYY年MM月DD日 HH:mm:ss dddd');
console.log(output); // => 2015年01月01日 00:00:00 Thursday
今日から指定日数まで何日か計算
var output = moment().add(30, 'days').format('YYYY年MM月DD日'); // add第一引数:日数、第二引数:単位
console.log(output); // => 2014年11月23日
※加算の場合はadd()
、減算の場合はsubtract()
を使う
指定日から何日経過したか計算
var output = moment().diff(moment([2014, 4, 1]), "days");
console.log(output); // => 176
もちろん、今日だけじゃなく、AとBの差も計算できます。
参考文献
詳しくは以下が参考になります。
※ただし、Moment.jsのバージョンが古いときの記事のため、add()
など一部仕様が違うため注意。最新仕様は公式サイト参照。