Temporal.ZonedDateTime : méthode withTimeZone()
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 withTimeZone() des instances de Temporal.ZonedDateTime retourne un nouvel objet Temporal.ZonedDateTime représentant le même instant que cette date et cette heure mais dans le nouveau fuseau horaire. Comme tous les objets Temporal sont conçus pour être immuables, cette méthode fonctionne essentiellement comme le mutateur de la propriété timeZoneId de la date et de l'heure.
Pour remplacer les propriétés de composant de la date et de l'heure, utilisez la méthode with(). Pour remplacer son calendrier, utilisez la méthode withCalendar().
Syntaxe
withTimeZone(timeZone)
Paramètres
timeZone-
Une chaîne de caractères ou une instance de
Temporal.ZonedDateTimereprésentant le fuseau horaire à utiliser. Si c'est une instance deTemporal.ZonedDateTime, son fuseau horaire est utilisé. Si c'est une chaîne de caractères, elle peut être un identifiant de fuseau horaire nommé, un identifiant de fuseau horaire par décalage, ou une chaîne de caractères de date et d'heure contenant un identifiant de fuseau horaire ou un décalage (voir fuseaux horaires et décalages pour plus d'informations).
Valeur de retour
Un nouvel objet Temporal.ZonedDateTime représentant le même instant que cette date et cette heure mais dans le nouveau fuseau horaire.
Exceptions
TypeError-
Levée si
timeZonen'est pas une chaîne de caractères ou une instance deTemporal.ZonedDateTime. RangeError-
Levée si le nom du fuseau horaire n'est pas valide.
Exemples
>Utiliser la méthode withTimeZone()
const meetingTime = Temporal.ZonedDateTime.from(
"2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime.withTimeZone("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T18:00:00+02:00[Europe/Paris]
Remplacer le fuseau horaire tout en conservant la même heure affichée
Dans le cas rare où vous souhaitez conserver la même heure affichée mais changer le fuseau horaire (et obtenir un instant différent), convertissez-le d'abord en Temporal.PlainDateTime :
const meetingTime = Temporal.ZonedDateTime.from(
"2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime
.toPlainDateTime()
.toZonedDateTime("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T12:00:00+02:00[Europe/Paris]
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.zoneddatetime.prototype.withtimezone> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.ZonedDateTime - La méthode
Temporal.ZonedDateTime.prototype.with() - La méthode
Temporal.ZonedDateTime.prototype.withCalendar() - La méthode
Temporal.ZonedDateTime.prototype.withPlainTime() - La méthode statique
Temporal.ZonedDateTime.from() - La propriété
Temporal.ZonedDateTime.prototype.timeZoneId