字符串 + 格式
如果你知道输入字符串的格式,则可以使用它来解析日期。
¥If you know the format of an input string, you can use that to parse a date.
This requires the
CustomParseFormat
plugin to work
dayjs.extend(customParseFormat)
dayjs("12-25-1995", "MM-DD-YYYY")
将区域设置键作为第三个参数传递以解析区域设置感知的日期时间字符串。
¥Pass the locale key as the third parameter to parse locale-aware date time string.
require('dayjs/locale/es')
dayjs('2018 Enero 15', 'YYYY MMMM DD', 'es')
你可以为最后一个参数指定一个布尔值以使用严格解析。严格的解析要求格式和输入完全匹配,包括分隔符。
¥You may specify a boolean for the last argument to use strict parsing. Strict parsing requires that the format and input match exactly, including delimiters.
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
如果你不知道输入字符串的确切格式,但知道它可能是多种格式中的一种,则可以使用格式数组。
¥If you don't know the exact format of an input string, but know it could be one of many, you can use an array of formats.
dayjs("12-25-2001", ["YYYY", "YYYY-MM-DD"], 'es', true);
所有可用解析令牌的列表
¥List of all available parsing tokens
输入 | 示例 | 描述 |
---|---|---|
YY | 01 | 两位数年份 |
YYYY | 2001 | 四位数年份 |
M | 1-12 | 月份,从 1 开始 |
MM | 01-12 | 月份,2 位数字 |
MMM | Jan-Dec | 月份名称缩写 |
MMMM | January-December | 完整的月份名称 |
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 | 数百毫秒,一位数 |
SS | 00-99 | 几十毫秒,2 位 |
SSS | 000-999 | 毫秒,3 位数字 |
Z | -05:00 | 与 UTC 的偏移 |
ZZ | -0500 | 距 UTC 的紧凑偏移量,2 位数字 |
A | 上午下午 | 午后或午前,大写 |
a | am pm | 午后或午前,小写 |
Do | 1st...31st | 带序数的月份中的某一天 |
X | 1410715640.579 | Unix 时间戳 |
x | 1410715640579 | Unix 毫秒时间戳 |
与时刻的差异
¥Differences to moment
title | 参数 | dayjs | moment |
---|---|---|---|
日期无效且溢出 | ('35/22/2010 99:88:77', 'DD-MM-YYYY HH:mm:ss') | '08-11-2011 04:29:17' | 'Invalid date' |
无效日期溢出,严格 | ('35/22/2010 99:88:77', 'DD-MM-YYYY HH:mm:ss', true) | 'Invalid Date' | 'Invalid date' |
'0' 天或月(使用默认值) | ('1970-00-00', 'YYYY-MM-DD') | '1970-01-01' | 'Invalid date' |
'0' 天或月(使用默认值),严格 | ('1970-00-00', 'YYYY-MM-DD', true) | 'Invalid Date' | 'Invalid date' |
日期格式不匹配 | ('10/12/2014', 'YYYY-MM-DD') | '01-01-2014' | '12-20-2010' |
日期与格式不匹配,严格 | ('10/12/2014', 'YYYY-MM-DD', true) | 'Invalid Date' | 'Invalid date' |
第一场比赛与最长的比赛 | ('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' |
第一场比赛与最长比赛,严格 | ('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' |
所有可识别分隔符的列表:
¥List of all recognized separator characters:
-_:.,()/