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
Namespace-Objekt enthält statische Methoden, um die aktuelle Zeit 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 (genau wie das Math
Objekt).
Grundsätzlich wird die Systemzeit vom Betriebssystem als Zeit seit der Unix-Epoche zurückgegeben (normalerweise auf Millisekunden-Ebene genau, aber möglicherweise auch auf Nanosekunden-Ebene). Temporal.Now.instant()
gibt diese Zeit als Temporal.Instant
Objekt zurück.
Ein Zeitpunkt kann in einer Zeitzone interpretiert werden (was standardmäßig die Systemzeitzone Temporal.Now.timeZoneId()
ist), ähnlich 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 Zeit erhalten, unter Verwendung von Temporal.Now.plainDateISO()
, Temporal.Now.plainTimeISO()
, und Temporal.Now.plainDateTimeISO()
.
Beispielsweise, wenn der Computer auf die Zeitzone "America/New_York" eingestellt ist, gibt Temporal.Now.zonedDateTimeISO()
ein zonengesteuertes 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 Zeitteil dieses zonengesteuerten Datums und der Uhrzeit zurückgeben: 10:40:12.345
. Wenn Sie jedoch Temporal.Now.plainTimeISO("UTC")
aufrufen, wird der Zeitteil des zonengesteuerten Datums und der Uhrzeit in der UTC-Zeitzone zurückgegeben: 14:40:12.345
. Dies ist besonders nützlich für die Kommunikation zwischen Systemen, bei der die andere Seite möglicherweise erwartet, dass die Zeit in einer anderen Zeitzone angegeben wird.
Reduzierte Zeitgenauigkeit
Um Schutz gegen Timing-Angriffe und Fingerprinting zu bieten, kann die Genauigkeit der Temporal.Now
Funktionen je nach Browsereinstellungen gerundet werden. In Firefox ist die Einstellung privacy.reduceTimerPrecision
standardmäßig aktiviert und beträgt standardmäßig 2 ms. Sie können auch privacy.resistFingerprinting
aktivieren, in welchem Fall die Genauigkeit 100 ms oder der Wert von privacy.resistFingerprinting.reduceTimerPrecision.microseconds
sein wird, je nachdem, welcher größer ist.
Beispielsweise wird bei reduzierter Zeitgenauigkeit das Ergebnis von Temporal.Now.instant().epochMilliseconds
immer ein Vielfaches von 2 sein, oder ein Vielfaches von 100 (oder privacy.resistFingerprinting.reduceTimerPrecision.microseconds
) mit aktiviertem privacy.resistFingerprinting
.
// 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
[Symbol.toStringTag]
Eigenschaft ist der String"Temporal.Now"
. Diese Eigenschaft wird inObject.prototype.toString()
verwendet.
Statische Methoden
Temporal.Now.instant()
Experimentell-
Gibt die aktuelle Zeit als
Temporal.Instant
Objekt zurück. Temporal.Now.plainDateISO()
Experimentell-
Gibt das aktuelle Datum als
Temporal.PlainDate
Objekt im ISO 8601 Kalender und der angegebenen Zeitzone zurück. Temporal.Now.plainDateTimeISO()
Experimentell-
Gibt das aktuelle Datum und die aktuelle Zeit als
Temporal.PlainDateTime
Objekt im ISO 8601 Kalender und der angegebenen Zeitzone zurück. Temporal.Now.plainTimeISO()
Experimentell-
Gibt die aktuelle Zeit als
Temporal.PlainTime
Objekt in der angegebenen Zeitzone zurück. Temporal.Now.timeZoneId()
Experimentell-
Gibt einen Zeitzonenbezeichner zurück, der die aktuelle Zeitzone des Systems repräsentiert.
Temporal.Now.zonedDateTimeISO()
Experimentell-
Gibt das aktuelle Datum und die aktuelle Zeit als
Temporal.ZonedDateTime
Objekt im ISO 8601 Kalender und der angegebenen Zeitzone zurück.
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal-now-object |