Luxonで日付フォーマットして文字列で返す

Luxonで日付フォーマットして文字列で返す

項目 バージョン
Luxon 2.4.0

node.jsの日付を扱うライブラリでLuxonを使用してみます。

現在日付をDateTime.local()メソッドで取得し、yyyy-MM-dd形式やyyyy/MM/dd形式に変換したりしてみます。

toFormat()

toFomatメソッドを使用します。戻り値は文字列となります。

import {DateTime} from 'luxon'
let now
now = DateTime.local().toFormat('yyyy-MM-dd')
console.log(now) // 2022-07-30
now = DateTime.local().toFormat('yyyy/MM/dd')
console.log(now) // 2022/07/30

fromFormat()

fromFormatメソッドを使用すると、DateTimeのインスタンスが返ってきます。

第一引数 第二引数
文字列 文字列
const dt = DateTime.fromFormat('2020-02-02', 'yyyy-MM-dd')
console.log(dt.year) // 2020 インスタンスが返ってきている

DateTimeのインスタンスはtoFormat()メソッドを持ちます。

const dt1 = DateTime.fromFormat('2020-02-02', 'yyyy-MM-dd')
const dt2 = dt1.toFormat('yyyy/MM/dd')
console.log(dt2) // 2020/02/02

fromJSDate()

日付フォーマットではないですが、JSのDateオブジェクトをDateTimeオブジェクトに変換するメソッドです。DBから返ってくる日付はデフォルトではDateオブジェクトの場合があるので、fromJSDate()メソッドを使うケースはあると思います。

const dt1 = DateTime.fromJSDate(new Date())
console.log(dt1.year) // DateTimeのインスタンスが返ってきている

コメント

タイトルとURLをコピーしました