Temporal.Now
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das Temporal.Now
Namensraumobjekt enthält statische Methoden, um die aktuelle Uhrzeit in verschiedenen Formaten zu erhalten.
Beschreibung
Im Gegensatz zu den meisten globalen Objekten ist Temporal.Now
kein Konstruktor. Sie können es nicht mit dem new
-Operator verwenden oder das Temporal.Now
-Objekt als Funktion aufrufen. Alle Eigenschaften und Methoden von Temporal.Now
sind statisch (genauso wie das Math
-Objekt).
Grundlegend wird die Systemzeit vom Betriebssystem als Zeit seit der Unix-Epoche zurückgegeben (normalerweise mit Millisekunden-Präzision, kann aber auch auf Nanosekunden-Präzision sein). Temporal.Now.instant()
gibt diese Zeit als ein Temporal.Instant
-Objekt zurück.
Ein Zeitpunkt kann in einer Zeitzone interpretiert werden (standardmäßig die Systemzeitzone Temporal.Now.timeZoneId()
), auf die gleiche Weise wie Temporal.Instant.prototype.toZonedDateTimeISO()
. Um ein Temporal.ZonedDateTime
-Objekt zu erhalten, können Sie Temporal.Now.zonedDateTimeISO()
verwenden. Sie können auch verschiedene Teile des Datums und der Uhrzeit erhalten, indem Sie Temporal.Now.plainDateISO()
, Temporal.Now.plainTimeISO()
und Temporal.Now.plainDateTimeISO()
verwenden.
Zum Beispiel, wenn der Computer auf die Zeitzone "America/New_York" eingestellt ist, gibt Temporal.Now.zonedDateTimeISO()
ein zoniertes Datum und Uhrzeit zurück, wie: 2021-08-01T10:40:12.345-04:00[America/New_York]
. In diesem Fall würde Temporal.Now.plainTimeISO()
den Zeitanteil dieser zonierten Zeit zurückgeben: 10:40:12.345
. Wenn Sie jedoch Temporal.Now.plainTimeISO("UTC")
aufrufen, wird der Zeitanteil der zonierten Zeit in der UTC-Zeitzone zurückgegeben: 14:40:12.345
. Dies ist besonders nützlich für die Kommunikation zwischen Systemen, bei denen das andere Ende möglicherweise die Zeit in einer anderen Zeitzone erwartet.
Reduzierte Zeitpräzision
Um Schutz vor Timing-Angriffen und Fingerabdruckerstellung zu bieten, könnte die Präzision der Temporal.Now
-Funktionen abhängig von den Browsereinstellungen gerundet werden. In Firefox ist die Einstellung privacy.reduceTimerPrecision
standardmäßig aktiviert und hat einen Standardwert von 2ms. Sie können auch privacy.resistFingerprinting
aktivieren, in diesem Fall wird die Präzision 100ms oder den Wert von privacy.resistFingerprinting.reduceTimerPrecision.microseconds
betragen, je nachdem, welcher Wert größer ist.
Zum Beispiel wird mit reduzierter Zeitpräzision das Ergebnis von Temporal.Now.instant().epochMilliseconds
immer ein Vielfaches von 2 sein oder mit privacy.resistFingerprinting
aktiviert ein Vielfaches von 100 (oder 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
// …
Statische Eigenschaften
Temporal.Now[Symbol.toStringTag]
-
Der Anfangswert der Eigenschaft
[Symbol.toStringTag]
ist der String"Temporal.Now"
. Diese Eigenschaft wird inObject.prototype.toString()
verwendet.
Statische Methoden
Temporal.Now.instant()
Experimentell-
Gibt die aktuelle Zeit als ein
Temporal.Instant
-Objekt zurück. Temporal.Now.plainDateISO()
Experimentell-
Gibt das aktuelle Datum als ein
Temporal.PlainDate
-Objekt im ISO 8601-Kalender und der angegebenen Zeitzone zurück. Temporal.Now.plainDateTimeISO()
Experimentell-
Gibt das aktuelle Datum und die aktuelle Uhrzeit als ein
Temporal.PlainDateTime
-Objekt im ISO 8601-Kalender und der angegebenen Zeitzone zurück. Temporal.Now.plainTimeISO()
Experimentell-
Gibt die aktuelle Uhrzeit als ein
Temporal.PlainTime
-Objekt in der angegebenen Zeitzone zurück. Temporal.Now.timeZoneId()
Experimentell-
Gibt eine Zeitzonenkennung zurück, die die aktuelle Systemzeitzone darstellt.
Temporal.Now.zonedDateTimeISO()
Experimentell-
Gibt das aktuelle Datum und die aktuelle Uhrzeit als ein
Temporal.ZonedDateTime
-Objekt im ISO 8601-Kalender und der angegebenen Zeitzone zurück.
Spezifikationen
Specification |
---|
Temporal # sec-temporal-now-object |