目次
インストール
$ npm install --save luxon
現在時刻を取得する
const { DateTime } = require("luxon");
const now = DateTime.local();
console.log(now.toString());
実行結果:
2020-09-15T16:30:33.347+09:00
日時のインスタンスを作成する
const { DateTime } = require("luxon");
const dateTime = DateTime.local(2020, 9, 15, 12, 34, 56);
console.log(dateTime.toString());
実行結果:
2020-09-15T12:34:56.000+09:00
日時を文字列に変換(フォーマット)する
const { DateTime } = require("luxon");
const now = DateTime.local();
console.log(now.setLocale("en").toLocaleString(DateTime.DATETIME_FULL));
console.log(now.toISO());
console.log(now.toRFC2822());
console.log(now.toFormat("yyyy-LL-dd TT.SSS"));
実行結果:
September 15, 2020, 5:01 PM GMT+9
2020-09-15T17:01:51.889+09:00
Tue, 15 Sep 2020 17:01:51 +0900
2020-09-15 17:01:51.889
文字列をパースして日時に変換する
const { DateTime } = require("luxon");
const dateTime = DateTime.fromFormat(
"2020-09-15 17:01:51.889",
"yyyy-LL-dd TT.SSS"
);
console.log(dateTime.toString());
実行結果:
2020-09-15T17:01:51.889+09:00
日時を Unix タイムスタンプに変換する
const { DateTime } = require("luxon");
const now = DateTime.local();
console.log(now.toMillis());
console.log(now.toSeconds());
実行結果:
1600157566073
1600157566.073
Unix タイムスタンプを日時に変換する
const { DateTime } = require("luxon");
const dateTime1 = DateTime.fromMillis(1600157566073);
const dateTime2 = DateTime.fromSeconds(1600157566);
console.log(dateTime1.toString());
console.log(dateTime2.toString());
実行結果:
2020-09-15T17:12:46.073+09:00
2020-09-15T17:12:46.000+09:00
日時の計算を行う
const { DateTime } = require("luxon");
const dateTime = DateTime.fromFormat(
"2020-09-15 17:01:51.889",
"yyyy-LL-dd TT.SSS"
);
console.log(dateTime.plus({ month: 10 }).toString());
console.log(dateTime.minus({ day: 10 }).toString());
実行結果:
2021-07-15T17:01:51.889+09:00
2020-09-05T17:01:51.889+09:00