Day.js 中文文档

当前版本 v1.11

更多文档

字符串 + 格式

如果你知道输入字符串的格式,则可以使用它来解析日期。

需要配合 CustomParseFormat 插件才能工作

dayjs.extend(customParseFormat)
dayjs("12-25-1995", "MM-DD-YYYY")

将区域设置键作为第三个参数传递以解析区域设置感知的日期时间字符串。

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);

所有可用解析令牌的列表

输入示例描述
YY01两位数年份
YYYY2001四位数年份
M1-12月份,从 1 开始
MM01-12月份,2 位数字
MMMJan-Dec月份名称缩写
MMMMJanuary-December完整的月份名称
D1-31一个月中的第几天
DD01-31月份中的第几天,2 位数字
H0-23小时数
HH00-23小时,2 位数字
h1-12小时,12 小时制
hh01-12小时,12 小时制,2 位数字
m0-59分钟数
mm00-59分钟,2 位数字
s0-59秒数
ss00-59秒,2 位数字
S0-9数百毫秒,一位数
SS00-99几十毫秒,2 位
SSS000-999毫秒,3 位数字
Z-05:00与 UTC 的偏移
ZZ-0500距 UTC 的紧凑偏移量,2 位数字
A上午下午午后或午前,大写
aam pm午后或午前,小写
Do1st...31st带序数的月份中的某一天
X1410715640.579Unix 时间戳
x1410715640579Unix 毫秒时间戳

与 moment 的差异

title参数dayjsmoment
日期无效且溢出('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'

所有可识别分隔符的列表:

-_:.,()/

Day.js 中文文档 - 粤ICP备14034220号-1