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.ZonedDateTime : méthode getTimeZoneTransition()

Disponibilité limitée

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

La méthode getTimeZoneTransition() des instances de Temporal.ZonedDateTime retourne un objet Temporal.ZonedDateTime représentant l'instant le plus proche après ou avant cet instant auquel le décalage UTC du fuseau horaire change (l'instant retourné est le premier instant après le changement), ou null s'il n'y a pas de telle transition. Cela est utile pour connaître les règles de décalage d'un fuseau horaire, comme son schéma d'heure d'été.

Notez que les instants retournés concernant le futur peuvent être peu fiables, par exemple en raison de modifications des définitions des fuseaux horaires.

Syntaxe

js
getTimeZoneTransition(direction)
getTimeZoneTransition(options)

Paramètres

direction

Une chaîne de caractères représentant l'option direction. Il s'agit d'une surcharge pratique, donc getTimeZoneTransition(direction) est équivalent à getTimeZoneTransition({ direction }), où direction est une chaîne de caractères.

options

Un objet contenant la propriété suivante :

direction

Indique s'il faut rechercher avant ou après l'instant actuel. Doit être l'une des valeurs "next" ou "previous".

Valeur de retour

Un objet Temporal.ZonedDateTime avec l'instant t, tel que :

  • Le décalage du fuseau horaire à t est différent du décalage une nanoseconde avant t.
  • t < this.epochNanoseconds si direction est "previous", ou t > this.epochNanoseconds si direction est "next".
  • Pour tous les instants entre this.epochNanoseconds et t, exclus, le décalage est constant.

S'il n'y a pas de telle transition, null est retourné.

Exemples

Trouver la prochaine transition de fuseau horaire

js
const dt = Temporal.ZonedDateTime.from("2024-01-01T00-05:00[America/New_York]");
const transition = dt.getTimeZoneTransition("next");
console.log(transition.toString()); // "2024-03-10T03:00:00-04:00[America/New_York]"

const transition2 = transition.getTimeZoneTransition("next");
console.log(transition2.toString()); // "2024-11-03T01:00:00-05:00[America/New_York]"

const transition3 = dt.getTimeZoneTransition("previous");
console.log(transition3.toString()); // "2023-11-05T01:00:00-05:00[America/New_York]"

const dt2 = Temporal.ZonedDateTime.from("2024-01-01T00Z[UTC]");
console.log(dt2.getTimeZoneTransition("next")); // null

Spécifications

Spécification
Temporal
# sec-temporal.zoneddatetime.prototype.gettimezonetransition

Compatibilité des navigateurs

Voir aussi