Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Temporal.Instant : propriété epochNanoseconds

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

La propriété d'accesseur epochNanoseconds des instances de Temporal.Instant retourne un BigInt représentant le nombre de nanosecondes écoulées depuis l'époque Unix (minuit au début du 1er janvier 1970, UTC) jusqu'à cet instant.

Le mutateur d'accesseur de epochNanoseconds est undefined. Vous ne pouvez pas modifier cette propriété directement. Pour créer un nouvel objet Temporal.Instant avec la nouvelle valeur souhaitée de epochNanoseconds, utilisez plutôt la méthode statique Temporal.Instant.fromEpochNanoseconds().

Un instant ne peut représenter que ±108 jours (environ ±273 972,6 ans) autour de l'époque, soit ±8,64e21 nanosecondes. Tenter de définir epochNanoseconds au-delà de cette limite déclenche une RangeError.

Exemples

Utiliser la propriété epochNanoseconds

js
const instant = Temporal.Instant.from("2021-08-01T12:34:56.789Z");
console.log(instant.epochNanoseconds); // 1627821296789000000n

const instant2 = Temporal.Instant.from("1969-08-01T12:34:56.789Z");
console.log(instant2.epochNanoseconds); // -13173903211000000n

Modifier epochNanoseconds

Ceci est la méthode qui permet de se déplacer de n'importe quelle quantité de temps :

js
const instant = Temporal.Instant.from("2021-08-01T12:34:56.789Z");
const instant1hourLater = instant.add({ hours: 1 });
console.log(instant1hourLater.epochNanoseconds); // 1627824896789000000n

Si vous connaissez déjà le changement en nanosecondes, vous pouvez également créer directement un nouvel objet Temporal.Instant :

js
const instant = Temporal.Instant.from("2021-08-01T12:34:56.789Z");
const instant1hourLater = Temporal.Instant.fromEpochNanoseconds(
  instant.epochNanoseconds + 3600000000000n,
);
console.log(instant1hourLater.epochNanoseconds); // 1627824896789000000n

Spécifications

Spécification
Temporal
# sec-get-temporal.instant.prototype.epochnanoseconds

Compatibilité des navigateurs

Voir aussi