Skip to content
Day.js

简体中文

English
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

简体中文

English
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

主题

Sidebar Navigation

安装

Node.js

浏览器

TypeScript

下载

解析

当前时间

字符串

字符串 + 格式

Unix 时间戳 (毫秒)

Unix 时间戳(秒)

Date 对象

对象

数组

UTC

Day.js 克隆

验证

获取和设置

毫秒

秒

分钟

小时

日期

星期几

星期几(本地化感知)

ISO 星期几

一年中的天数

一年中的第几周

ISO 周数

月份

季度

年

周年份

ISO 周年份

一年中的 ISO 周数

获取

设置

最大值(最晚的时间)

最小值(最早的时间)

操作

添加时间

减去时间

时间单位的起点

时间单位的结束

本地化时间

UTC

UTC 偏移量

展示

格式化

从现在开始的时间

从 X 开始的时间

距离当前时间的相对时间

相对于 X 的时间

日历时间

差异

Unix 时间戳(毫秒)

Unix 时间戳

当月天数

转换为 JavaScript Date

转换为数组

转换为 JSON

ISO 8601 字符串格式

转换为对象

转换为字符串

查询方法

是否早于

是否相同

是否晚于

是否相同或更早

是否相同或之后

是否在两个时间之间

是否为 Day.js 对象

闰年判断

i18n (国际化)

在 NodeJS 中加载区域设置

在浏览器中加载区域设置

全局更改语言环境

局部更改区域设置

获取当前 Day.js 实例的语言环境

列出当前区域设置的月份和星期

访问区域设置相关的功能

插件

在 Node.js 中加载插件

在浏览器中加载插件

AdvancedFormat

ArraySupport

BadMutable

BigIntSupport

BuddhistEra(佛历)

日历

CustomParseFormat

DayOfYear

DevHelper

Duration

IsBetween

IsLeapYear

IsSameOrAfter

IsSameOrBefore

IsToday

IsTomorrow

IsYesterday

IsoWeek

IsoWeeksInYear

LocaleData

LocalizedFormat

MinMax

ObjectSupport

PluralGetSet

PreParsePostFormat

QuarterOfYear

RelativeTime

时区

ToArray

ToObject

UpdateLocale

UTC

weekOfYear

WeekYear

星期几

自定义

月份名称

月份缩写

星期几名称

星期缩写

最小星期缩写

相对时间

日历

时长

创建

克隆

转换为易读时间

格式化

毫秒

秒

分钟

小时

天

周

月份

年份

添加时间

减少时间

使用 Duration 和 Diff

以指定单位获取时长

获取指定时间单位的时长

转换为 JSON

判断是否为 Duration 对象

作为 ISO 8601 字符串

语言环境

时区

在指定时区中解析

转换为时区

获取用户时区

设置默认时区

页面导航

时区 ​

时区插件提供了 dayjs.tz、.tz、.tz.guess 和 .tz.setDefault API,用于在不同时区之间解析或显示时间。

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

var timezone = require('dayjs/plugin/timezone'); // 依赖 utc 插件
// 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); // 创建一个 Dayjs 对象,假设输入时间为 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); // 将现有 Dayjs 对象的时间转换为指定时区(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); // 将现有 Dayjs 对象的时间视为本地时间,并转换为指定时区
//dayjsAmericaKeep.toISOString() -> 2014-06-01T16:00:00.000Z
//dayjsAmericaKeep.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00

获取用户时区

javascript
dayjs.tz.guess();

在指定时区中解析时间字符串

javascript
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

将 UTC 时间转换为指定时区的时间

javascript
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 使用)

javascript
// 设置默认时区
dayjs.tz.setDefault('America/New_York');

// 将默认时区重置为系统时区
dayjs.tz.setDefault();

与 Moment.js 的区别 ​

设置默认时区后,moment(dateValue) 会使用该时区(但 moment.tz(dateValue, timezone) 仍然需要第二个参数)。

然而 dayjs(dateValue) 始终使用本地时区,即使调用了 dayjs.tz.setDefault;只有 dayjs.tz(dateValue) (不带第二个参数)才会使用默认时区。

Pager
上一页RelativeTime
下一页ToArray

基于 MIT 许可证 发布。

版权所有 (c) 2020 iamkun

https://day.js.org/docs/en/plugin/timezone

基于 MIT 许可证 发布。

版权所有 (c) 2020 iamkun