Day.js

Day.js

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

›插件

安装

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

解析

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

获取 + 设置

  • 获取 + 设置
  • 毫秒
  • 秒
  • 分钟
  • 小时
  • 月份日期
  • 星期几
  • 星期几(区域感知)
  • ISO 星期几
  • 一年中的第几天
  • 一年中的第几周
  • 一年中的第几周(ISO)
  • 月份
  • 季度
  • 年份
  • 周年份
  • 周年份(ISO)
  • 一年中的周数(ISO)
  • 获取
  • 设置
  • 最大值
  • 最小值

操作

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

显示

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

查询

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

国际化

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

插件

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

自定义

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

持续时间

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

时区

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

时区

时区添加了 dayjs.tz .tz .tz.guess .tz.setDefault API 用于在时区之间解析或显示。

var utc = require('dayjs/plugin/utc')
var timezone = require('dayjs/plugin/timezone') // dependent on utc plugin

dayjs.extend(utc)
dayjs.extend(timezone)

const timestamp = "2014-06-01 12:00"
const tz = "America/New_York"

const dayjsLocal = dayjs(timestamp); //assumes UTC
//dayjsLocal.toISOString() -> 2014-06-01T12:00:00.000Z
//dayjsLocal.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00

const dayjsAmerica = dayjsLocal.tz(tz)  //existing time treated as UTC
//dayjsAmerica.toISOString() -> 2014-06-01T12:00:00.000Z
//dayjsAmerica.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T08:00:00

const dayjsAmericaKeep = dayjsLocal.tz(tz, true) //existing time treated as local time
//dayjsAmericaKeep.toISOString() -> 2014-06-01T16:00:00.000Z
//dayjsAmericaKeep.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00

猜测用户时区

dayjs.tz.guess()

在时区内解析

const d1 = dayjs.tz('2013-11-18 11:55', 'Asia/Taipei')
d1.format() // => 2013-11-18T11:55:00+08:00
d1.toISOString() // => 2013-11-18T03:55:00.000Z

转换为时区

const d2 = dayjs.utc('2013-11-18 11:55').tz('Asia/Taipei')
d2.format() // => 2013-11-18T19:55:00+08:00
d2.toISOString() // => 2013-11-18T11:55:00.000Z

设置/重置默认时区(由 'tz' 使用)

// Setting the default timezone
dayjs.tz.setDefault('America/New_York')

// Resetting the default timezone to the system timezone
dayjs.tz.setDefault()

与 moment 的区别

使用默认时区将使 moment(dateValue) 使用此时区(但 moment.tz(dateValue, timezone) 仍然需要第二个参数)。

但 dayjs(dateValue) 始终使用本地时区,即使使用了 dayjs.tz.setDefault;只有 dayjs.tz(dateValue)(没有第二个参数)使用默认时区。

← 相对时间转换为数组 →
Day.js
社区
GitHubGitter🇨🇳 中国镜像站点站点地图
版权所有 © 2024 Day.js