Temporal.Instant
Disponibilité limitée
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
L'objet Temporal.Instant représente un point unique dans le temps, avec une précision à la nanoseconde. Il est fondamentalement représenté comme le nombre de nanosecondes écoulées depuis l'époque Unix (minuit au début du 1er janvier 1970, UTC), sans fuseau horaire ni système de calendrier.
Description
Temporal.Instant est sémantiquement identique à Date. Les deux encapsulent un point unique dans le temps, mais Temporal.Instant est plus précis car il stocke les nanosecondes plutôt que les millisecondes. Temporal.Instant évite également les pièges de Date car il ne suppose aucune information de calendrier ou de fuseau horaire—si vous souhaitez lire des informations de date ou d'heure telles que l'année ou le mois, vous devez d'abord le convertir en Temporal.ZonedDateTime, en utilisant toZonedDateTimeISO().
Vous pouvez convertir un objet Date en Temporal.Instant en utilisant la méthode Date.prototype.toTemporalInstant(), qui doit être préférée à d'autres méthodes telles que Temporal.Instant.fromEpochMilliseconds() car elle implique moins de code utilisateur·ice et peut être plus optimisée. Vous pouvez également convertir un Temporal.Instant en Date en utilisant ses millisecondes depuis l'époque, par exemple new Date(instant.epochMilliseconds).
Format RFC 9557
Les objets Instant peuvent être sérialisés et analysés en utilisant le format RFC 9557 (angl.), une extension du format ISO 8601 / RFC 3339 (angl.). La chaîne de caractères a la forme suivante (les espaces sont uniquement pour la lisibilité et ne doivent pas être présents dans la chaîne de caractères réelle) :
YYYY-MM-DD T HH:mm:ss.sssssssss Z/±HH:mm
YYYY-
Soit un nombre à quatre chiffres, soit un nombre à six chiffres avec un signe
+ou-. MM-
Un nombre à deux chiffres de
01à12. DD-
Un nombre à deux chiffres de
01à31. Les composantsYYYY,MMetDDpeuvent être séparés par-ou rien. T-
Le séparateur date-heure, qui peut être
T,tou un espace. HH-
Un nombre à deux chiffres de
00à23. mmFacultatif-
Un nombre à deux chiffres de
00à59. Par défaut00. ss.sssssssssFacultatif-
Un nombre à deux chiffres de
00à59. Peut être suivi optionnellement par un.ou,et un à neuf chiffres. Par défaut00. Les composantsHH,mmetsspeuvent être séparés par:ou rien. Vous pouvez omettre soitssseul, soitssetmm, donc l'heure peut être sous trois formes :HH,HH:mmouHH:mm:ss.sssssssss. Z/±HH:mm-
Soit le désignateur UTC
Zouz, soit un décalage par rapport à l'UTC sous la forme+ou-suivi du même format que le composant horaire. Notez que la précision subminute (:ss.sssssssss) peut ne pas être prise en charge par d'autres systèmes, et est acceptée mais jamais affichée. Si un décalage est fourni, l'heure est interprétée dans le décalage défini.
En entrée, vous pouvez éventuellement inclure l'identifiant de fuseau horaire et le calendrier, dans le même format que ZonedDateTime, mais ils seront ignorés. D'autres annotations au format [key=value] sont également ignorées, et elles ne doivent pas avoir le drapeau critique.
Lors de la sérialisation, vous pouvez configurer les chiffres fractionnaires des secondes et le décalage.
Constructeur
Temporal.Instant()Expérimental-
Crée un nouvel objet
Temporal.Instanten fournissant directement les données sous-jacentes.
Méthodes statiques
Temporal.Instant.compare()-
Retourne un nombre (-1, 0 ou 1) indiquant si le premier instant précède, est identique ou suit le deuxième instant. Équivaut à comparer les
epochNanosecondsdes deux instants. Temporal.Instant.from()-
Crée un nouvel objet
Temporal.Instantà partir d'un autre objetTemporal.Instantou d'une chaîne de caractères au format RFC 9557. Temporal.Instant.fromEpochMilliseconds()-
Crée un nouvel objet
Temporal.Instantà partir du nombre de millisecondes écoulées depuis l'époque Unix (minuit au début du 1er janvier 1970, UTC). Temporal.Instant.fromEpochNanoseconds()-
Crée un nouvel objet
Temporal.Instantà partir du nombre de nanosecondes écoulées depuis l'époque Unix (minuit au début du 1er janvier 1970, UTC).
Propriétés d'instance
Ces propriétés sont définies sur Temporal.Instant.prototype et partagées par toutes les instances de Temporal.Instant.
Temporal.Instant.prototype.constructor-
La fonction constructeur qui a créé l'objet instance. Pour les instances de
Temporal.Instant, la valeur initiale est le constructeurTemporal.Instant(). Temporal.Instant.prototype.epochMilliseconds-
Retourne un entier représentant le nombre de millisecondes écoulées depuis l'époque Unix (minuit au début du 1er janvier 1970, UTC) jusqu'à cet instant. Équivaut à diviser
epochNanosecondspar1e6et à arrondir à l'entier inférieur. Temporal.Instant.prototype.epochNanoseconds-
Retourne un
BigIntreprésentant le nombre de nanosecondes écoulées depuis l'époque Unix (minuit au début du 1er janvier 1970, UTC) jusqu'à cet instant. Temporal.Instant.prototype[Symbol.toStringTag]-
La valeur initiale de la propriété
[Symbol.toStringTag]est la chaîne de caractères"Temporal.Instant". Cette propriété est utilisée dansObject.prototype.toString().
Méthodes d'instance
Temporal.Instant.prototype.add()-
Retourne un nouvel objet
Temporal.Instantreprésentant cet instant avancé d'une durée donnée (sous une forme convertible parTemporal.Duration.from()). Temporal.Instant.prototype.equals()-
Retourne
truesi cet instant est équivalent en valeur à un autre instant (sous une forme convertible parTemporal.Instant.from()), etfalsesinon. Ils sont comparés par leurs nanosecondes depuis l'époque. Équivaut àTemporal.Instant.compare(this, other) === 0. Temporal.Instant.prototype.round()-
Retourne un nouvel objet
Temporal.Instantreprésentant cet instant arrondi à l'unité donnée. Temporal.Instant.prototype.since()-
Retourne un nouvel objet
Temporal.Durationreprésentant la durée écoulée depuis un autre instant (sous une forme convertible parTemporal.Instant.from()) jusqu'à cet instant. La durée est positive si l'autre instant est avant cet instant, et négative si après. Temporal.Instant.prototype.subtract()-
Retourne un nouvel objet
Temporal.Instantreprésentant cet instant reculé d'une durée donnée (sous une forme convertible parTemporal.Duration.from()). Temporal.Instant.prototype.toJSON()-
Retourne une chaîne de caractères représentant cet instant dans le même format RFC 9557 que l'appel à
toString(). Destiné à être appelé implicitement parJSON.stringify(). Temporal.Instant.prototype.toLocaleString()-
Retourne une chaîne de caractères représentant cet instant de manière sensible à la langue. Dans les implémentations avec le support de l'API
Intl.DateTimeFormat, cette méthode délègue àIntl.DateTimeFormat. Temporal.Instant.prototype.toString()-
Retourne une chaîne de caractères représentant cet instant dans le format RFC 9557 en utilisant le fuseau horaire défini.
Temporal.Instant.prototype.toZonedDateTimeISO()-
Retourne un nouvel objet
Temporal.ZonedDateTimereprésentant cet instant dans le fuseau horaire défini en utilisant le système de calendrier ISO 8601. Temporal.Instant.prototype.until()-
Retourne un nouvel objet
Temporal.Durationreprésentant la durée entre cet instant et un autre instant (sous une forme convertible parTemporal.Instant.from()). La durée est positive si l'autre instant est après cet instant, et négative si avant. Temporal.Instant.prototype.valueOf()-
Lève un objet
TypeError, ce qui empêche les instances deTemporal.Instantd'être converties implicitement en primitives lorsqu'elles sont utilisées dans des opérations arithmétiques ou de comparaison.
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal-instant-objects> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal - L'objet
Temporal.Duration - L'objet
Temporal.ZonedDateTime