Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

moment.jsの使い方(現在時刻の取得、登録、取得)

f:id:overworker:20200406080809j:plain:h250

JavaScriptはたまに使う』程度の筆者による、メモ書き程度の内容です。
moment.jsとはJavasSriptで日時計算を楽にしてくれるライブラリーです。

参考文献

公式サイトはmomentjs.comです。

現在時刻を取得する

// モーメントオブジェクトで現在時刻を取得する
const d = moment();

// モーメントオブジェクトから日時を配列で読み出す
console.log(d.toArray());    // [2020, 6, 5, 15, 34, 24, 0]

// モーメントオブジェクトから日時をオブジェクトで読み出す
console.log(d.toObject());    // {years: 2020, months: 6, date: 5, hours: 15, minutes: 34, …}

日付の登録

// 日付をセットする①:デフォルト動作
const d = moment('2020-01-09'); // 2020年1月9日で入力される

// 日付をセットする②:入力フォーマットを指定する
// (※意表を突いたフォーマットですが、指定した通り認識されるはずです。)
const d = moment('2020-01-09','YYYY-DD-MM'); // 2020年9月1日で入力される

// 日付をセットする③:JavaScriptのDateObjectでセットする
// (※Dateオブジェクトの場合はMonthが`0`からスタートします。)
const d = moment(new Date(2020,0,9));

// 日付をセットする④:数値(配列)でセットする
// (※Dateオブジェクトの場合と同様で、Monthは`0`からスタートになります。)
const d = moment([2020,0,9]);

// 日付をセットする⑤:モーメントのメソッドを利用する
d.set('year',2020);
d.month(6);
d.date(24);
d.hour(20).minute(12).second(34);

日付の変更

  • ひとつの要素を変更すると、他の要素も連動して変化します。
    • 例えば、モーメントオブジェクトの曜日を'Saturday'から'Sunday'に変更すると、連動して日付もその週の日曜日に変化します。
const d = moment('2020-07-24 15:34:24');


// その週の(日)曜日を取得する(月またぎ、年またぎも問題なく動作しました。)
d.day('Sunday');

日付の取得

const d = moment('2020-07-05 15:34:24');

// 年を取得
console.log(d.get('year'));
console.log(d.get('years'));
console.log(d.get('y'));
console.log(d.year());
console.log(d.years());    //Deprecation warning: years accessor is deprecated. Use year instead

// 月を取得(0~11)
console.log(d.get('month'));
console.log(d.get('months'));
console.log(d.get('M'));
console.log(d.month());
console.log(d.months());  //Deprecation warning: months accessor is deprecated. Use month instead

// 日を取得
console.log(d.get('date'));
console.log(d.get('dates'));
console.log(d.get('D'));
console.log(d.date());
console.log(d.dates());  //Deprecation warning: dates accessor is deprecated. Use date instead.

// 曜日を取得(0~6)
console.log(d.get('day'));
console.log(d.get('days'));
console.log(d.get('d'));
console.log(d.day());
console.log(d.days());

// 時を取得
console.log(d.get('hour'));
console.log(d.get('hours'));
console.log(d.get('h'));
console.log(d.hour());
console.log(d.hours());

// 分を取得
console.log(d.get('minute'));
console.log(d.get('minutes'));
console.log(d.get('m'));
console.log(d.minute());
console.log(d.minutes());

// 秒を取得
console.log(d.get('second'));
console.log(d.get('seconds'));
console.log(d.get('s'));
console.log(d.second());
console.log(d.seconds());

// ミリ秒を取得
console.log(d.get('millisecond'));
console.log(d.get('milliseconds'));
console.log(d.get('ms'));
console.log(d.millisecond());
console.log(d.milliseconds());

その他の記事について

overworker.hatenablog.jp