Temporal.Now
Temporal.Now 名稱空間物件包含用於以各種格式獲取當前時間的靜態方法。
描述
與大多數全域性物件不同,Temporal.Now 不是一個建構函式。您不能使用 new 運算子 或將 Temporal.Now 物件呼叫為函式。Temporal.Now 的所有屬性和方法都是靜態的(就像 Math 物件一樣)。
最根本的是,系統時間由作業系統以自 Unix 紀元以來的時間(通常是毫秒級精度,但也可能是納秒級)返回。 Temporal.Now.instant() 將此時間作為 Temporal.Instant 物件返回。
可以像 Temporal.Instant.prototype.toZonedDateTimeISO() 一樣,在時區(預設為系統時區 Temporal.Now.timeZoneId())中解釋一個時間點。要獲取 Temporal.ZonedDateTime 物件,您可以使用 Temporal.Now.zonedDateTimeISO()。您還可以使用 Temporal.Now.plainDateISO()、Temporal.Now.plainTimeISO() 和 Temporal.Now.plainDateTimeISO() 來獲取日期和時間的各個部分。
例如,如果計算機設定為“America/New_York”時區,Temporal.Now.zonedDateTimeISO() 將返回一個帶時區的日期時間,例如:2021-08-01T10:40:12.345-04:00[America/New_York]。在這種情況下,Temporal.Now.plainTimeISO() 將返回此帶時區日期時間的時間部分:10:40:12.345。但是,如果您呼叫 Temporal.Now.plainTimeISO("UTC"),它將返回 UTC 時區中帶時區日期時間的時間部分:14:40:12.345。這對於跨系統通訊特別有用,因為另一端可能期望以不同的時區接收時間。
時間精度降低
為防止計時攻擊和指紋識別,Temporal.Now 函式的精度可能會根據瀏覽器設定進行舍入。在 Firefox 中,privacy.reduceTimerPrecision 首選項預設啟用,預設為 2ms。您也可以啟用 privacy.resistFingerprinting,在這種情況下,精度將為 100ms 或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds 的值(取較大者)。
例如,在降低時間精度的情況下,Temporal.Now.instant().epochMilliseconds 的結果將始終是 2 的倍數,或者在啟用 privacy.resistFingerprinting 的情況下是 100 的倍數(或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds 的倍數)。
// reduced time precision (2ms) in Firefox 60
Temporal.Now.instant().epochMilliseconds;
// Might be:
// 1519211809934
// 1519211810362
// 1519211811670
// …
// reduced time precision with `privacy.resistFingerprinting` enabled
Temporal.Now.instant().epochMilliseconds;
// Might be:
// 1519129853500
// 1519129858900
// 1519129864400
// …
靜態屬性
Temporal.Now[Symbol.toStringTag]-
[Symbol.toStringTag]屬性的初始值是字串"Temporal.Now"。此屬性用於Object.prototype.toString()。
靜態方法
Temporal.Now.instant()實驗性-
以
Temporal.Instant物件形式返回當前時間。 Temporal.Now.plainDateISO()實驗性-
以 ISO 8601 日曆和指定時區中的
Temporal.PlainDate物件形式返回當前日期。 Temporal.Now.plainDateTimeISO()實驗性-
以 ISO 8601 日曆和指定時區中的
Temporal.PlainDateTime物件形式返回當前日期和時間。 Temporal.Now.plainTimeISO()實驗性-
以指定時區中的
Temporal.PlainTime物件形式返回當前時間。 Temporal.Now.timeZoneId()實驗性-
返回一個表示系統當前時區的時區識別符號。
Temporal.Now.zonedDateTimeISO()實驗性-
以 ISO 8601 日曆和指定時區中的
Temporal.ZonedDateTime物件形式返回當前日期和時間。
規範
| 規範 |
|---|
| Temporal # sec-temporal-now-object |
瀏覽器相容性
載入中…