文字列 + フォーマット
入力文字列のフォーマットが既知の場合は、そのフォーマットを使用して日付を解析できます。
TIP
この機能を使用するには、CustomParseFormat プラグインが必要です。
js
dayjs.extend(customParseFormat);
dayjs('12-25-1995', 'MM-DD-YYYY');
ロケールに対応した日時文字列を解析するには、第 3 引数にロケールキーを渡します。
js
require('dayjs/locale/es');
dayjs('2018 Enero 15', 'YYYY MMMM DD', 'es');
厳密な解析を行うには、第 4 引数にブール値を指定します。厳密な解析では、区切り文字を含め、フォーマットと入力が完全に一致する必要があります。
js
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
入力文字列の正確なフォーマットが不明で、複数の候補がある場合は、フォーマットの配列を使用できます。
js
dayjs('12-25-2001', ['YYYY', 'YYYY-MM-DD'], 'es', true);
利用可能なすべての解析トークン一覧
Input | Example | Description |
---|---|---|
YY | 01 | 西暦下 2 桁 |
YYYY | 2001 | 西暦 4 桁 |
M | 1-12 | 月 (1 から開始) |
MM | 01-12 | 月 (2 桁) |
MMM | Jan-Dec | 月の省略名 |
MMMM | January-December | 月のフルネーム |
D | 1-31 | 日 |
DD | 01-31 | 日 (2 桁) |
H | 0-23 | 時 (24 時間表示) |
HH | 00-23 | 時 (24 時間表示、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/100 秒単位、1 桁) |
SS | 00-99 | ミリ秒 (1/10 秒単位、2 桁) |
SSS | 000-999 | ミリ秒 (3 桁) |
Z | -05:00 | UTC からのタイムゾーンオフセット |
ZZ | -0500 | UTC からのタイムゾーンオフセット (コンパクト、2 桁) |
A | AM PM | 午前/午後 (大文字) |
a | am pm | 午前/午後 (小文字) |
Do | 1st... 31st | 序数付きの日付 |
X | 1410715640.579 | Unix タイムスタンプ (秒) |
x | 1410715640579 | Unix タイムスタンプ (ミリ秒) |
moment との違い
title | parameters | dayjs | moment |
---|---|---|---|
オーバーフローした日付 (無効な日付) | ('35/22/2010 99:88:77', 'DD-MM-YYYY HH:mm:ss') | '2011-11-08 04:29:17' | 'Invalid date' |
オーバーフローした日付 (無効な日付、厳密) | ('35/22/2010 99:88:77', 'DD-MM-YYYY HH:mm:ss', true) | '無効な日付' | 'Invalid date' |
0 日の日または月 (デフォルト値を使用) | ('1970-00-00', 'YYYY-MM-DD') | '1970-01-01' | 'Invalid date' |
0 日の日または月 (デフォルト値を使用、厳密) | ('1970-00-00', 'YYYY-MM-DD', true) | '無効な日付' | 'Invalid date' |
フォーマットと一致しない日付 | ('10/12/2014', 'YYYY-MM-DD') | '2014-01-01' | '12-20-2010' |
フォーマットと一致しない日付 (厳密) | ('10/12/2014', 'YYYY-MM-DD', true) | '無効な日付' | 'Invalid date' |
最初の一致 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' |
認識される区切り文字一覧:
-_:.,()/