Phương thức Date setFullYear() trong JavaScript

Phương thức Date setFullYear() trong JavaScript
Phương thức Date setFullYear() trong JavaScript

Chức năng của Phương thức Date setFullYear() trong JavaScript

Phương thức Date setFullYear() trong JavaScript dùng để quy định năm cho một đối tượng thời gian Date theo múi giờ địa phương, ngoài ra còn có thể quy định thêm tháng và ngày.

Cú pháp của Phương thức Date setFullYear() trong JavaScript

doituongdate.setFullYear(nam);

doituongdate: Đối tượng thời gian new Date();

nam: là số năm cần thay đổi, bắt buộc phải nhập.

doituongdate.setFullYear(nam,thang,ngay);

doituongdate: Đối tượng thời gian new Date();

nam: là số năm cần thay đổi, bắt buộc phải nhập.

thang: Số tháng cần thay đổi, nếu giá trị bằng 7 thì là tháng 8, không bắt buộc.

ngay: Số ngày cần thay đổi, không bắt buộc.

Giá trị tháng của Phương thức Date setFullYear() trong JavaScript

0: tháng 1

1: tháng 2

2: tháng 3

3: tháng 4

4: tháng 5

5: tháng 6

6: tháng 7

7: tháng 8

8: tháng 9

9: tháng 10

10: tháng 11

11: tháng 12

Code Phương thức Date setFullYear() trong JavaScript

<script>
// Đổi Ngày 5/10/2024 thành ngày 5/10/2025
document.write("<b>// Đổi Ngày 5/10/2024 thành ngày 5/10/2025</b><br>");
var thoigian  = new Date(2024,9,05); // Ngày 5/10/2024
thoigian.setFullYear(2025); // Đổi thành 5/10/2025
document.write("Đổi Ngày 5/10/2024 thành ngày 5/10/2025: "+thoigian+"<br>"); // Kết quả: Sun Oct 05 2025 00:00:00 GMT+0700 (Giờ Đông Dương)
// Đổi Ngày 5/10/2024 thành ngày 6/11/2025
document.write("<b>// Đổi Ngày 5/10/2024 thành ngày 6/11/2025</b><br>");
var thoigianhai  = new Date(2024,9,05); // Ngày 5/10/2024
thoigianhai.setFullYear(2025,10,6); // Đổi thành 6/11/2025
document.write("Đổi Ngày 5/10/2024 thành ngày 6/11/2025: "+thoigianhai+"<br>"); // Kết quả: Thu Nov 06 2025 00:00:00 GMT+0700 (Giờ Đông Dương)
</script>

Kết quả:

// Đổi Ngày 5/10/2024 thành ngày 5/10/2025
Đổi Ngày 5/10/2024 thành ngày 5/10/2025: Sun Oct 05 2025 00:00:00 GMT+0700 (Giờ Đông Dương)
// Đổi Ngày 5/10/2024 thành ngày 6/11/2025
Đổi Ngày 5/10/2024 thành ngày 6/11/2025: Thu Nov 06 2025 00:00:00 GMT+0700 (Giờ Đông Dương)

Chạy Thử

Những trường hợp cần lưu ý khi dùng setFullYear()

Khi thay đổi năm của một đối tượng Date, setFullYear() thường cho kết quả đúng như mong đợi nếu ngày, tháng và năm đều hợp lệ. Tuy nhiên, một số trường hợp đặc biệt có thể khiến tháng hoặc ngày thay đổi theo. Hiểu rõ cách xử lý này giúp tránh sai lệch khi xây dựng chức năng liên quan đến ngày tháng.

setFullYear() có làm thay đổi tháng và ngày không?

Bản thân setFullYear() được dùng để thay đổi năm, nhưng kết quả cuối cùng còn phụ thuộc vào tháng và ngày đang có trong đối tượng Date. Nếu chỉ truyền năm, tháng và ngày hiện tại sẽ được giữ lại khi có thể.

Phương thức cũng cho phép truyền thêm tháng và ngày. Khi đó, cả ba thành phần sẽ được thiết lập lại theo giá trị được cung cấp:

const date = new Date(2026, 5, 15);

date.setFullYear(2030, 8, 20);

console.log(date);

Trong ví dụ trên, năm được đổi thành 2030, tháng thành tháng 9 và ngày thành 20. Vì vậy, nếu mục tiêu chỉ là thay đổi năm, nên truyền riêng giá trị năm để tránh vô tình làm thay đổi các thành phần khác của ngày.

Điều gì xảy ra khi ngày không hợp lệ sau khi đổi năm?

Một trường hợp đáng chú ý xảy ra khi ngày hiện tại không tồn tại trong năm mới. Ví dụ, ngày 29 tháng 2 chỉ xuất hiện trong năm nhuận. Nếu đổi năm của ngày này sang một năm không nhuận, JavaScript sẽ tự điều chỉnh kết quả thay vì tạo ra một ngày không hợp lệ.

const date = new Date(2024, 1, 29);

date.setFullYear(2025);

console.log(date);

Ở đây, ngày 29 tháng 2 năm 2025 không tồn tại nên đối tượng Date sẽ tự chuyển sang ngày hợp lệ tiếp theo theo quy tắc tính ngày của JavaScript. Đây là điểm cần đặc biệt lưu ý khi xử lý ngày sinh, ngày hết hạn hoặc các mốc thời gian có thể rơi vào ngày 29 tháng 2.

Khi nào nên dùng setUTCFullYear() thay cho setFullYear()?

setFullYear() thiết lập năm theo múi giờ địa phương của môi trường đang chạy JavaScript. Trong khi đó, setUTCFullYear() thiết lập năm dựa trên thời gian UTC.

Nếu ứng dụng làm việc với dữ liệu ngày giờ cần thống nhất giữa nhiều quốc gia hoặc máy chủ, việc sử dụng UTC có thể giúp hạn chế sai lệch do múi giờ. Ngược lại, nếu ngày tháng được hiển thị và xử lý theo thời gian địa phương của người dùng, setFullYear() thường phù hợp hơn.

const date = new Date();

date.setUTCFullYear(2030);

console.log(date);

Điểm quan trọng là không nên chọn hai phương thức chỉ dựa trên tên gọi. Hãy xác định dữ liệu của ứng dụng đang được quản lý theo giờ địa phương hay UTC, sau đó sử dụng phương thức tương ứng để tránh phát sinh chênh lệch ngày tháng khi dữ liệu đi qua các múi giờ khác nhau.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức Date setFullYear() trong JavaScript.

  • ★★★★★ ★★★★★
  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức Date setFullYear() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !