Date.prototype.setYear()

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Phương thức setYear() của các instance Date đặt năm cho một ngày cụ thể theo giờ địa phương.

Tuy nhiên, cách phương thức setYear() cũ đặt giá trị năm khác với cách phương thức được ưu tiên setFullYear() đặt giá trị năm — và trong một số trường hợp, cũng khác với cách new Date()Date.parse() đặt giá trị năm. Cụ thể, với các số có hai chữ số, chẳng hạn như 2261:

  • setYear() diễn giải bất kỳ số có hai chữ số nào là một giá trị offset so với 1900; vì vậy date.setYear(22) dẫn đến giá trị năm được đặt là 1922, và date.setYear(61) dẫn đến giá trị năm được đặt là 1961. (Ngược lại, trong khi new Date(61, 1) cũng dẫn đến giá trị năm được đặt là 1961, new Date("2/1/22") dẫn đến giá trị năm được đặt là 2022; và tương tự đối với Date.parse()).

  • setFullYear() không thực hiện diễn giải đặc biệt mà thay vào đó sử dụng giá trị hai chữ số theo nghĩa đen để đặt năm; vì vậy date.setFullYear(61) dẫn đến giá trị năm được đặt là 0061, và date.setFullYear(22) dẫn đến giá trị năm được đặt là 0022.

Do những khác biệt trong hành vi đó, bạn không nên sử dụng phương thức setYear() cũ nữa, mà thay vào đó nên sử dụng phương thức được ưu tiên setFullYear().

Cú pháp

js
setYear(yearValue)

Tham số

yearValue

Một số nguyên.

Giá trị trả về

Thay đổi đối tượng Date tại chỗ và trả về timestamp mới của nó. Nếu yearValueNaN (hoặc các giá trị khác được ép kiểu thành NaN, chẳng hạn như undefined), ngày được đặt thành Invalid DateNaN được trả về.

Mô tả

Nếu yearValue là một số từ 0 đến 99 (bao gồm cả hai đầu), thì năm của dateObj được đặt thành 1900 + yearValue. Nếu không, năm của dateObj được đặt thành yearValue.

Ví dụ

Sử dụng setYear()

Hai dòng đầu đặt năm là 1996. Dòng thứ ba đặt năm là 2000.

js
const theBigDay = new Date();

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

Đặc tả

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

Tương thích trình duyệt

Xem thêm