Date.UTC()
Date.UTC() 靜態方法接受表示日期和時間元件的引數,這些引數與 Date 建構函式類似,但將其視為 UTC。它返回自 1970 年 1 月 1 日 00:00:00 UTC 以來經過的毫秒數。
試一試
const utcDate1 = new Date(Date.UTC(96, 1, 2, 3, 4, 5));
const utcDate2 = new Date(Date.UTC(0, 0, 0, 0, 0, 0));
console.log(utcDate1.toUTCString());
// Expected output: "Fri, 02 Feb 1996 03:04:05 GMT"
console.log(utcDate2.toUTCString());
// Expected output: "Sun, 31 Dec 1899 00:00:00 GMT"
語法
js
Date.UTC(year)
Date.UTC(year, monthIndex)
Date.UTC(year, monthIndex, day)
Date.UTC(year, monthIndex, day, hours)
Date.UTC(year, monthIndex, day, hours, minutes)
Date.UTC(year, monthIndex, day, hours, minutes, seconds)
Date.UTC(year, monthIndex, day, hours, minutes, seconds, milliseconds)
引數
年-
表示年份的整數值。值為
0到99的,對映到1900到1999年。所有其他值表示實際年份。請參閱 示例。 monthIndex可選-
表示月份的整數值,從
0(一月)到11(十二月)。預設為0。 day可選-
表示月份中的日期的整數值。預設為
1。 hours可選-
表示一天中小時的整數值,介於
0和23之間。預設為0。 minutes可選-
表示時間中分鐘部分的整數值。預設為
0。 seconds可選-
表示時間中秒部分的整數值。預設為
0。 milliseconds可選-
表示時間中毫秒部分的整數值。預設為
0。
返回值
描述
值為 0 到 99 的年份將被轉換為 20 世紀的年份 (1900 + year)。例如,95 將被轉換為 1995 年。
UTC() 方法與 Date() 建構函式在三方面有所不同:
Date.UTC()使用通用時間而不是本地時間。Date.UTC()返回一個數字格式的時間值,而不是建立一個Date物件。- 當傳入單個數字時,
Date.UTC()將其解釋為年份而不是時間戳。
如果引數超出預期範圍,UTC() 方法會更新其他引數以適應該值。例如,如果 monthIndex 使用 15,則年份將增加 1 (year + 1),月份將使用 3。
由於 UTC() 是 Date 的一個靜態方法,您應始終將其用作 Date.UTC(),而不是您建立的 Date 物件的某個方法。
示例
使用 Date.UTC()
以下語句建立一個 Date 物件,其中引數被視為 UTC 而非本地時間。
js
const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
Date.UTC() 單個引數的行為
Date.UTC() 在只接受一個引數時,過去的行為不一致,因為實現只保持與 Date() 建構函式一致的行為,後者不將單個引數解釋為年份數字。現在要求實現將省略的 monthIndex 視為 0,而不是將其強制轉換為 NaN。
js
Date.UTC(2017); // 1483228800000
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-date.utc |
瀏覽器相容性
載入中…