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

Date : méthode setYear()

Obsolète

Évitez d'utiliser cette fonctionnalité dans de nouveaux projets. The getYear() and setYear() methods use a truncated number instead of the actual year number, known as a year 2000 problem. Cette fonctionnalité peut être candidate à la suppression des standards web ou des navigateurs.

La méthode setYear() des instances de Date définit l'année pour une date définie selon l'heure locale.

Cependant, la façon dont la méthode héritée setYear() définit les valeurs d'année diffère de celle de la méthode préférée setFullYear() — et dans certains cas, diffère aussi de la façon dont new Date() et Date.parse() définissent les valeurs d'année. Plus précisément, pour des nombres à deux chiffres, comme 22 et 61 :

  • setYear() interprète tout nombre à deux chiffres comme un décalage par rapport à 1900 ; ainsi date.setYear(22) résulte en la valeur d'année étant définie à 1922, et date.setYear(61) résulte en la valeur d'année étant définie à 1961. (En revanche, tandis que new Date(61, 1) résulte également en la valeur d'année étant définie à 1961, new Date("2/1/22") résulte en la valeur d'année étant définie à 2022; et de même pour Date.parse()).
  • setFullYear() n'effectue aucune interprétation particulière mais utilise la valeur littérale à deux chiffres telle quelle pour définir l'année ; ainsi, date.setFullYear(61) résulte en la valeur d'année étant définie à 0061, et date.setFullYear(22) résulte en la valeur d'année étant définie à 0022.

En raison de ces différences de comportement, il ne faut plus utiliser la méthode héritée setYear(), mais plutôt la méthode préférée setFullYear().

Syntaxe

js
setYear(yearValue)

Paramètres

yearValue

Un entier.

Valeur de retour

Modifie l'objet Date en place et retourne son nouveau timestamp. Si un paramètre vaut NaN (ou d'autres valeurs qui sont contrainte en NaN, comme undefined), la date est définie sur Date invalide et NaN est retourné.

Description

Si yearValue est un nombre entre 0 et 99 (inclus), alors l'année pour dateObj est fixée à 1900 + yearValue. Sinon, l'année pour dateObj est fixée à yearValue.

Exemples

Utiliser la méthode setYear()

Les deux premières instructions définissent l'année 1996. La troisième définit l'année 2000.

js
const leGrandJour = new Date();

leGrandJour.setYear(96);
leGrandJour.setYear(1996);
leGrandJour.setYear(2000);

Spécifications

Spécification
ECMAScript® 2027 Language Specification
# sec-date.prototype.setyear

Compatibilité des navigateurs

Voir aussi