注目キーワード
  1. npm
  2. composer
  3. css

[JavaScript] Moment.jsで日時処理

公式ドキュメント

https://momentjs.com/

インストール

$ npm i moment --save

使い方

// ES6形式でインポート
import moment from "moment";
import assert from "assert";

// 日付のパース
var d = "2000/01/01 01:02:03";
var date = moment(d,"YYYY/MM/DD hh:mm:ss").format("YYYY-MM-DD hh:mm:ss");
assert.equal("2000-01-01 01:02:03", date);

// 日時の加減
// date自体が置き換わるので、注意すること
var date = moment("2000/01/01", "YYYY-MM-DD");
assert.equal("2000-01-02", date.add(+1, "days").format("YYYY-MM-DD"));
assert.equal("2000-01-01", date.add(-1, "days").format("YYYY-MM-DD"));
assert.equal("1999-12-31", date.add(-1, "days").format("YYYY-MM-DD"));

// 置き換えたくない時は .clone() を使う
assert.equal("2000-01-01", date.clone().add(+1, "days").format("YYYY-MM-DD"));
assert.equal("1999-12-31", date.format("YYYY-MM-DD"));

// その他、日時の加減
assert.equal("2000-01-31", date.add(+1, "months").format("YYYY-MM-DD"));
assert.equal("2001-01-31", date.add(+1, "year").format("YYYY-MM-DD"));
assert.equal("2001-01-17", date.add(-2, "weeks").format("YYYY-MM-DD"));

assert.equal("10:00:00", date.add(+10, "hours").format("hh:mm:ss"));
assert.equal("10:05:00", date.add(+5, "minutes").format("hh:mm:ss"));
assert.equal("10:05:03", date.add(+3, "seconds").format("hh:mm:ss"));
assert.equal("2001-01-17 10:05:03", date.format("YYYY-MM-DD hh:mm:ss"));