Day.js

Day.js

  • 文档
  • GitHub
  • Languages icon中文
    • English
    • Русский
    • Español
    • 帮助我们翻译

›插件

安装

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

解析

  • 解析
  • 当前时间
  • 字符串
  • 字符串 + 格式
  • Unix 时间戳 (毫秒)
  • Unix 时间戳 (秒)
  • Date 对象
  • 对象
  • 数组
  • UTC
  • Dayjs 复制
  • 验证

取值/赋值

  • 取值/赋值
  • Millisecond
  • Second
  • Minute
  • Hour
  • Date of Month
  • Day of Week
  • Day of Week (Locale Aware)
  • ISO Day of Week
  • 每年中的第几天
  • Week of Year
  • Week of Year (ISO)
  • Month
  • Quarter
  • Year
  • Week Year
  • Week Year (ISO)
  • Weeks In Year (ISO)
  • Get
  • Set
  • Maximum
  • Minimum

操作

  • 操作
  • Add
  • Subtract
  • Start of Time
  • End of Time
  • Local
  • UTC
  • UTC offset

显示

  • 显示
  • Format
  • Time from now
  • Time from X
  • Time to now
  • Time to X
  • Calendar-time
  • Difference
  • Unix 时间戳 (毫秒)
  • Unix 时间戳
  • 月份中天数
  • As Javascript Date
  • As Array
  • As JSON
  • As ISO 8601 String
  • As Object
  • As String

查询

  • 查询
  • Is Before
  • Is Same
  • Is After
  • Is Same or Before
  • Is Same or After
  • Is Between
  • Is a Dayjs
  • Is Leap Year

国际化 (i18n)

  • 国际化 (i18n)
  • 加载语言配置 (NodeJS)
  • 加载语言配置 (浏览器)
  • 改变语言配置 (全局)
  • 改变语言配置 (当前实例)
  • 查看当前语言配置
  • 列出当前语言的月份和周
  • 获取语言配置的属性

插件

  • 插件
  • 加载插件 (NodeJS)
  • 加载插件 (浏览器)
  • AdvancedFormat
  • ArraySupport
  • BadMutable
  • BigIntSupport
  • BuddhistEra
  • Calendar
  • CustomParseFormat
  • DayOfYear
  • DevHelper
  • Duration
  • IsBetween
  • IsLeapYear
  • IsSameOrAfter
  • IsSameOrBefore
  • IsToday
  • IsTomorrow
  • IsYesterday
  • IsoWeek
  • IsoWeeksInYear
  • LocaleData
  • LocalizedFormat
  • MinMax
  • ObjectSupport
  • PluralGetSet
  • PreParsePostFormat
  • QuarterOfYear
  • RelativeTime
  • Timezone
  • ToArray
  • ToObject
  • UpdateLocale
  • UTC
  • weekOfYear
  • WeekYear
  • Weekday

自定义

  • 自定义
  • Month Names
  • Month Abbreviations
  • Weekday Names
  • Weekday Abbreviations
  • Minimal Weekday Abbreviations
  • Relative Time
  • Calendar

时长 (Duration)

  • 时长
  • Creating
  • Clone
  • Humanize
  • Format
  • Milliseconds
  • Seconds
  • Minutes
  • Hours
  • Days
  • Weeks
  • Months
  • Years
  • Add Time
  • Subtract Time
  • Using Duration with Diff
  • As Unit of Time
  • Get Unit of Time
  • As JSON
  • Is a Duration
  • As ISO 8601 String
  • Locale

时区

  • 时区
  • 解析时区
  • 转换到对应时区
  • 用户当前时区
  • 设置默认时区
Translate

Timezone

Timezone 插件添加了 dayjs.tz .tz .tz.guess .tz.setDefault API,在时区之间解析或显示。

var utc = require("dayjs/plugin/utc");
// import utc from 'dayjs/plugin/utc' // ES 2015

var timezone = require("dayjs/plugin/timezone"); // dependent on utc plugin
// import timezone from 'dayjs/plugin/timezone' // ES 2015

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

设置/重置默认时区

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

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

和 Moment.js 的差异

Using the default timezone makes moment(dateValue) use this timezone (but moment.tz(dateValue, timezone) still requires the second parameter).

But dayjs(dateValue) always uses the local timezone, even if dayjs.tz.setDefault is used; only dayjs.tz(dateValue) (without second parameter) uses the default timezone.

← RelativeTimeToArray →
Day.js
Community
GitHubGitterSitemap
Copyright © 2025 Day.js