文字列 + 形式設定
入力文字列の形式が分かっている場合は、それを日付の解析に使用できます。
これには、 CustomParseFormat
プラグインが必要です。
dayjs.extend(customParseFormat)
dayjs("12-25-1995", "MM-DD-YYYY")
ロケール対応の日時文字列を解析するには、ロケールキーを3番目のパラメータとして渡します。
require('dayjs/locale/es')
dayjs('2018 Enero 15', 'YYYY MMMM DD', 'es')
最後の引数にブール値を指定して、厳密な解析を使用できます。厳密な解析では、区切り文字を含む形式と入力が完全に一致する必要があります。
dayjs('1970-00-00', 'YYYY-MM-DD').isValid() // true
dayjs('1970-00-00', 'YYYY-MM-DD', true).isValid() // false
dayjs('1970-00-00', 'YYYY-MM-DD', 'es', true).isValid() // false
入力文字列の正確な形式が不明だが、複数の形式のいずれかであることが分かっている場合は、形式の配列を使用できます。
dayjs("12-25-2001", ["YYYY", "YYYY-MM-DD"], 'es', true);
使用可能なすべての解析トークンのリスト
入力 | 例 | 説明 |
---|---|---|
YY | 01 | 2桁の年 |
YYYY | 2001 | 4桁の年 |
M | 1-12 | 月(1から始まる) |
MM | 01-12 | 月(2桁) |
MMM | 1月~12月 | 月の略称 |
MMMM | 1月~12月 | 月の正式名称 |
D | 1-31 | 月の曜日 |
DD | 01-31 | 月の曜日(2桁) |
H | 0-23 | 時間 |
HH | 00-23 | 時間(2桁) |
h | 1-12 | 時間(12時間制) |
hh | 01-12 | 時間(12時間制、2桁) |
m | 0-59 | 分 |
mm | 00-59 | 分(2桁) |
s | 0-59 | 秒 |
ss | 00-59 | 秒(2桁) |
S | 0-9 | ミリ秒の百の位(1桁) |
SS | 00-99 | ミリ秒の十の位(2桁) |
SSS | 000-999 | ミリ秒(3桁) |
Z | -05:00 | UTCからのオフセット |
ZZ | -0500 | UTCからのコンパクトなオフセット(2桁) |
A | 午前/午後 | 午前または午後の大文字 |
a | 午前/午後 | 午前または午後の小文字 |
Do | 1日~31日 | 序数付きの月の曜日 |
X | 1410715640.579 | Unixタイムスタンプ |
x | 1410715640579 | Unixミリ秒タイムスタンプ |
momentとの違い
タイトル | パラメータ | dayjs | moment |
---|---|---|---|
オーバーフローのある無効な日付 | ('35/22/2010 99:88:77', 'DD-MM-YYYY HH:mm:ss') | '08-11-2011 04:29:17' | '無効な日付' |
オーバーフローのある無効な日付(厳密) | ('35/22/2010 99:88:77', 'DD-MM-YYYY HH:mm:ss', true) | '無効な日付' | '無効な日付' |
'0'の日または月(デフォルト値を使用) | ('1970-00-00', 'YYYY-MM-DD') | '1970-01-01' | '無効な日付' |
'0'の日または月(デフォルト値を使用、厳密) | ('1970-00-00', 'YYYY-MM-DD', true) | '無効な日付' | '無効な日付' |
形式と一致しない日付 | ('10/12/2014', 'YYYY-MM-DD') | '01-01-2014' | '12-20-2010' |
形式と一致しない日付(厳密) | ('10/12/2014', 'YYYY-MM-DD', true) | '無効な日付' | '無効な日付' |
最初のマッチ vs. 最長のマッチ | ('2012-05-28 10:21:15', ['YYYY', 'YYYY-MM-DD', 'YYYY-MM-DD HH:mm:ss']) | '2012-01-01 00:00:00' | '2012-05-28 10:21:15' |
最初のマッチ vs. 最長のマッチ(厳密) | ('2012-05-28 10:21:15', ['YYYY', 'YYYY-MM-DD', 'YYYY-MM-DD HH:mm:ss'], true) | '2012-05-28 10:21:15' | '2012-05-28 10:21:15' |
認識されるすべての区切り文字のリスト
-_:.,()/