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.PlainDate : méthode toZonedDateTime()

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 toZonedDateTime() des instances de Temporal.PlainDate retourne un nouvel objet Temporal.ZonedDateTime représentant cette date, une heure fournie et un fuseau horaire fourni, dans le même système de calendrier.

Syntaxe

js
toZonedDateTime(timeZone)
toZonedDateTime(info)

Paramètres

timeZone

Soit une chaîne de caractères, soit une instance de Temporal.ZonedDateTime représentant l'option timeZone. Il s'agit d'une surcharge pratique, donc toZonedDateTime(timeZone) est équivalent à toZonedDateTime({ timeZone }), où timeZone est une chaîne de caractères ou une instance de Temporal.ZonedDateTime. Cette surcharge est choisie lorsque le premier argument n'est pas un objet, ou que la propriété timeZone de l'objet est undefined (car les instances de ZonedDateTime ont une propriété timeZoneId à la place).

info

Un objet contenant certaines ou toutes les propriétés suivantes (dans l'ordre où elles sont récupérées et validées) :

plainTime Facultatif

Une chaîne de caractères, un objet ou une instance de Temporal.PlainTime représentant la composante temporelle du ZonedDateTime résultant. Elle est convertie en un objet Temporal.PlainTime en utilisant le même algorithme que Temporal.PlainTime.from(). Par défaut, il s'agit de la première heure valide dans ce fuseau horaire à cette date du calendrier, généralement "00:00:00", mais elle peut être différente si, par exemple, l'heure d'été saute minuit.

timeZone

Soit une chaîne de caractères, soit une instance de Temporal.ZonedDateTime représentant le fuseau horaire à utiliser. Si c'est une instance de Temporal.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 avec décalage, ou une chaîne de date-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 la date et l'heure définies par cette date, plainTime et timeZone, interprétées dans le système de calendrier de cette date.

Dans le cas de ambiguïtés, le comportement compatible est toujours utilisé : si l'heure tombe dans un intervalle, nous avançons de la longueur de l'intervalle ; si l'heure tombe dans une ambiguïté, nous choisissons la première des deux possibilités. Cela signifie que le ZonedDateTime résultant peut avoir une date ou une heure potentiellement différente de l'entrée.

Exceptions

TypeError

Levée si timeZone n'est pas une chaîne de caractères ou une instance de Temporal.ZonedDateTime.

RangeError

Levée si timeZone est une chaîne de caractères qui n'est pas un identifiant de fuseau horaire valide.

Exemples

Utiliser la méthode toZonedDateTime()

js
const summer = Temporal.PlainDate.from("2021-07-01");
// Juste le fuseau horaire
const summerTime = summer.toZonedDateTime("America/New_York");
console.log(summerTime.toString()); // 2021-07-01T00:00:00-04:00[America/New_York]

const winter = Temporal.PlainDate.from("2021-01-01");
// Fuseau horaire et heure
const winterTime = winter.toZonedDateTime({
  plainTime: "12:34:56",
  timeZone: "America/New_York",
});
console.log(winterTime.toString()); // 2021-01-01T12:34:56-05:00[America/New_York]

const spring = Temporal.PlainDate.from("2021-03-01");
// Fuseau horaire en tant qu'objet et heure en tant qu'objet
const springTime = spring.toZonedDateTime({
  plainTime: summerTime.toPlainTime(),
  timeZone: winterTime,
});
console.log(springTime.toString()); // 2021-03-01T00:00:00-05:00[America/New_York]

Spécifications

Spécification
Temporal
# sec-temporal.plaindate.prototype.tozoneddatetime

Compatibilité des navigateurs

Voir aussi