LoginSignup
171
178

More than 5 years have passed since last update.

日付処理が楽になる!Moment.jsの使い方

Last updated at Posted at 2014-10-24

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()など一部仕様が違うため注意。最新仕様は公式サイト参照。

171
178
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
171
178