Day.js

Day.js

  • 文档
  • GitHub
  • 语言图标英语
    • 中文
    • Русский
    • 帮助翻译

›解析

安装

  • 安装
  • Node.js
  • 浏览器
  • TypeScript
  • 下载

解析

  • 解析
  • 现在
  • 字符串
  • 字符串 + 格式
  • Unix 时间戳(毫秒)
  • Unix 时间戳(秒)
  • 日期
  • 对象
  • 数组
  • UTC
  • Dayjs 克隆
  • 验证

获取 + 设置

  • 获取 + 设置
  • 毫秒
  • 秒
  • 分钟
  • 小时
  • 月日
  • 星期几
  • 星期几(本地化)
  • ISO 星期几
  • 年内天数
  • 年内周数
  • 年内周数(ISO)
  • 月份
  • 季度
  • 年份
  • 周年份
  • 周年份(ISO)
  • 年内周数(ISO)
  • 获取
  • 设置
  • 最大值
  • 最小值

操作

  • 操作
  • 添加
  • 减去
  • 时间开始
  • 时间结束
  • 本地
  • UTC
  • UTC 偏移量

显示

  • 显示
  • 格式化
  • 距今时间
  • 距 X 时间
  • 距今时间
  • 距 X 时间
  • 日历时间
  • 差异
  • Unix 时间戳(毫秒)
  • Unix 时间戳
  • 月内天数
  • 作为 Javascript 日期
  • 作为数组
  • 作为 JSON
  • 作为 ISO 8601 字符串
  • 作为对象
  • 作为字符串

查询

  • 查询
  • 在之前
  • 相同
  • 在之后
  • 相同或之前
  • 相同或之后
  • 在之间
  • 是 Day.js 对象
  • 是闰年

国际化

  • 国际化
  • 在 NodeJS 中加载语言环境
  • 在浏览器中加载语言环境
  • 全局更改语言环境
  • 局部更改语言环境
  • 检查当前 Day.js 语言环境
  • 列出当前语言环境的月份和星期
  • 访问语言环境特定的功能

插件

  • 插件
  • 在 NodeJS 中加载插件
  • 在浏览器中加载插件
  • 高级格式化
  • 数组支持
  • 不可变对象
  • BigInt 支持
  • 佛教纪元
  • 日历
  • 自定义解析格式
  • 一年中的第几天
  • 开发助手
  • 持续时间
  • 在之间
  • 是闰年
  • 相同或之后
  • 相同或之前
  • 是今天
  • 是明天
  • 是昨天
  • ISO 周
  • 一年中的 ISO 周数
  • 语言环境数据
  • 本地化格式
  • 最小值和最大值
  • 对象支持
  • 复数获取和设置
  • 解析前和格式化后
  • 一年中的季度
  • 相对时间
  • 时区
  • 转换为数组
  • 转换为对象
  • 更新语言环境
  • UTC
  • 一年中的周数
  • 周年份
  • 星期

自定义

  • 自定义
  • 月份名称
  • 月份缩写
  • 星期名称
  • 星期缩写
  • 最短星期缩写
  • 相对时间
  • 日历

持续时间

  • 持续时间
  • 创建
  • 克隆
  • 人性化
  • 格式化
  • 毫秒
  • 秒
  • 分钟
  • 小时
  • 天
  • 周
  • 月
  • 年
  • 添加时间
  • 减去时间
  • 使用 Duration 与 Diff
  • 作为时间单位
  • 获取时间单位
  • 作为 JSON
  • 是否为 Duration
  • 作为 ISO 8601 字符串
  • 区域设置

时区

  • 时区
  • 在时区内解析
  • 转换为时区
  • 猜测用户时区
  • 设置默认时区
编辑

字符串 + 格式

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

这需要 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月份,两位数
MMMJan-Dec月份缩写
MMMMJanuary-December月份全称
D1-31月份中的日期
DD01-31月份中的日期,两位数
H0-23小时
HH00-23小时,两位数
h1-12小时,12 小时制
hh01-12小时,12 小时制,两位数
m0-59分钟
mm00-59分钟,两位数
s0-59秒
ss00-59秒,两位数
S0-9毫秒的百位数,一位数
SS00-99毫秒的十位数,两位数
SSS000-999毫秒,三位数
Z-05:00UTC 偏移量
ZZ-0500UTC 紧凑偏移量,两位数
A上午 下午上午或下午,大写
aam pm上午或下午,小写
Do1st... 31st带序数的月份日期
X1410715640.579Unix 时间戳
x1410715640579Unix 毫秒时间戳

与 moment 的区别

标题参数dayjsmoment
日期无效,溢出('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)'Invalid Date''日期无效'
'0' 天或月(使用默认值)('1970-00-00', 'YYYY-MM-DD')'1970-01-01''日期无效'
'0' 天或月(使用默认值),严格模式('1970-00-00', 'YYYY-MM-DD', true)'Invalid Date''日期无效'
日期与格式不匹配('10/12/2014', 'YYYY-MM-DD')'01-01-2014''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'

所有识别分隔符的列表

-_:.,()/

← 字符串Unix 时间戳(毫秒) →
Day.js
社区
GitHubGitter🇨🇳 中国镜像站点站点地图
版权所有 © 2024 Day.js