LoginSignup
paulownia0111
@paulownia0111

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

日本語日付文字列をdayjsでparseするとInvalidDateになる

momentをdayjsに置き換えようとしているのですが、日本語日付文字列をparseするときにdayjsだとエラーになります。
解決方法はありますか?

import moment from 'moment'
import 'dayjs/locale/ja'
import dayjs from 'dayjs'
dayjs.locale('ja')

const str = '2020年10月14日12時43分'
moment(str, 'YYYY年MM月DD日HH時mm分').toDate()   // 2020-10-14T03:43:00.000Z
dayjs(str, 'YYYY年MM月DD日HH時mm分').toDate()    // Invalid Date
0

1Answer

独自のフォーマットでパースするには CustomParseFormat プラグインが必要です。

import 'dayjs/locale/ja'
import dayjs from 'dayjs'
import customParseFormat from 'dayjs/plugin/customParseFormat'
dayjs.locale('ja')
dayjs.extend(customParseFormat)

const str = '2020年10月14日12時43分'
dayjs(str, 'YYYY年MM月DD日HH時mm分').toDate()    // 2020-10-14T03:43:00.000Z
2

Comments

  1. @paulownia0111

    Questioner
    サンプルコードまでご提示いただきありがとうございます。
    大変助かりましたm(_ _)m

Your answer might help someone💌