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 字串

語言環境

時區

在指定時區解析

轉換為時區

獲取使用者時區

設定預設時區

本頁導覽

字符串 + 格式 ​

如果你知道輸入字符串的格式,就可以使用該格式來解析日期。

TIP

這需要 CustomParseFormat 插件才能正常工作。

js
dayjs.extend(customParseFormat);
dayjs('12-25-1995', 'MM-DD-YYYY');

將地區設定鍵作為第三個參數傳遞,就可以解析支援特定地區設定的日期時間字符串。

js
require('dayjs/locale/es');
dayjs('2018 Enero 15', 'YYYY MMMM DD', 'es');

你可以為最後一個參數指定布爾值來啟用嚴格解析。 嚴格解析要求輸入字符串與指定的格式完全匹配,包括分隔符。

js
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

如果你不確定輸入字符串的確切格式,但知道它可能是多種格式之一,就可以使用格式數組。 Day.js 會嘗試使用數組中的每種格式解析日期,直到成功為止。

js
dayjs('12-25-2001', ['YYYY', 'YYYY-MM-DD'], 'es', true);

所有可用的解析標記列表 ​

InputExampleDescription
YY01兩位數年份
YYYY2001四位數年份
M1-12月份,從 1 開始
MM01-12月份,2 位數
MMMJan-Dec月份名稱縮寫
MMMMJanuary-December月份名稱全稱
D1-31日期
DD01-31日期,2 位數
H0-23小時 (24 小時制)
HH00-23小時 (24 小時制),2 位數
h1-12小時 (12 小時制)
hh01-12小時 (12 小時制),2 位數
m0-59分鐘
mm00-59分鐘,2 位數
s0-59秒
ss00-59秒,2 位數
S0-9毫秒(百位),1 位數
SS00-99毫秒(十位),2 位數
SSS000-999毫秒,3 位數
Z-05:00UTC 偏移
ZZ-0500緊湊格式的 UTC 偏移,2 位數
AAM PM上午或下午(大寫)
aam pm上午或下午(小寫)
Do1st... 31st帶順序的日期
X1410715640.579Unix 時間戳記 (秒)
x1410715640579Unix 毫秒時間戳記

與 Moment.js 的差異 ​

titleparametersdayjsmoment
溢位無效日期('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'

所有支援的分隔符字符列表: ​

-_:.,()/

Pager
上一頁字串
下一頁Unix 時間戳 (毫秒)

以 MIT 授權條款 發布。

版權所有 (c) 2020 iamkun

https://day.js.org/docs/en/parse/string-format

以 MIT 授權條款 發布。

版權所有 (c) 2020 iamkun