Temporal.PlainDateTime : méthode with()
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 with() des instances de Temporal.PlainDateTime retourne un nouvel objet Temporal.PlainDateTime représentant cette date et heure avec certains champs remplacés par de nouvelles valeurs. Comme tous les objets Temporal sont conçus pour être immuables, cette méthode fonctionne essentiellement comme le mutateur pour les champs de la date et de l'heure.
Pour remplacer la propriété calendarId, utilisez plutôt la méthode withCalendar().
Syntaxe
with(info)
with(info, options)
Paramètres
info-
Un objet contenant au moins une des propriétés reconnues par
Temporal.PlainDateTime.from()(saufcalendar) :day,eraeteraYear,hour,microsecond,millisecond,minute,month,monthCode,nanosecond,second,year. Les propriétés non définies utilisent les valeurs de la date et de l'heure d'origine. Il est nécessaire de fournir soitmonthsoitmonthCode, et soiteraeteraYearsoityear, et l'autre sera mis à jour en conséquence. optionsFacultatif-
Un objet contenant la propriété suivante :
overflowFacultatif-
Une chaîne de caractères définissant le comportement lorsqu'un composant de date est hors plage. Les valeurs possibles sont :
"constrain"(par défaut)-
Le composant de date est contraint à la plage valide.
"reject"-
Un objet
RangeErrorest levé si le composant de date est hors plage.
Valeur de retour
Un nouvel objet Temporal.PlainDateTime, où les champs spécifiés dans info qui ne sont pas undefined sont remplacés par les valeurs correspondantes, et le reste des champs est copié depuis la date et heure d'origine.
Exceptions
TypeError-
Levée dans l'un des cas suivants :
infon'est pas un objet.optionsn'est pas un objet ouundefined.
RangeError-
Levée dans l'un des cas suivants :
- Les propriétés fournies qui définissent le même composant sont incohérentes.
- Les propriétés non numériques fournies ne sont pas valides ; par exemple, si
monthCoden'est jamais un code de mois valide dans ce calendrier. - Les propriétés numériques fournies sont hors plage, et
options.overflowest défini sur"reject". - Le résultat n'est pas dans la plage représentable, qui est ±(108 + 1) jours, ou environ ±273 972,6 années, depuis l'époque Unix.
Exemples
>Utiliser la méthode with()
const dt = Temporal.PlainDateTime.from("2021-07-01T12:34:56");
const newDT = dt.with({ hour: 13 });
console.log(newDT.toString()); // "2021-07-01T13:34:56"
const newDT2 = dt.with({ month: 2, day: 22, millisecond: 222 });
console.log(newDT2.toString()); // "2021-02-22T13:34:56.222"
const nextDecade = dt.with({ year: dt.year + 10 });
console.log(nextDecade.toString()); // "2031-07-01T13:34:56"
Pour plus d'exemples, voir la documentation des propriétés individuelles qui peuvent être définies en utilisant with().
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.plaindatetime.prototype.with> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.PlainDateTime - La méthode
Temporal.PlainDateTime.prototype.withCalendar() - La méthode
Temporal.PlainDateTime.prototype.withPlainTime() - La méthode statique
Temporal.PlainDateTime.from() - La méthode
Temporal.PlainDateTime.prototype.add() - La méthode
Temporal.PlainDateTime.prototype.subtract()