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

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

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

Phương thức Date setUTCFullYear() trong JavaScript dùng để đổi năm, có thể thêm tháng, ngày của một đối tượng thời gian Date thành múi giờ quốc tế (UTC), để chuyển đổi thời gian theo năm, tháng, ngày có múi giờ quốc tế cần kết hợp với hàm toUTCString().

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

doituongdate.setUTCFullYear(giatrinam);

doituongdate: Là một biến trả về từ đối tượng new Date();

giatrinam: Chuyển qua múi giờ quốc tế đồng thời cũng theo giá trị của năm chỉ định.

doituongdate.setUTCFullYear(giatrinam,giatrithang,giatringay);

doituongdate: Là một biến trả về từ đối tượng new Date();

giatrinam: Chuyển qua múi giờ quốc tế đồng thời cũng theo giá trị của năm chỉ định.

giatrithang: Chuyển qua múi giờ quốc tế đồng thời cũng theo giá trị của tháng chỉ định.

giatringay: Chuyển qua múi giờ quốc tế đồng thời cũng theo giá trị của ngày chỉ định.

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

<script>
// Lấy thời gian của đối tượng Date theo năm (UTC)
document.write("<b>//Lấy thời gian của đối tượng Date theo năm(UTC)</b><br>");
var thoigian  = new Date("September 05, 2025 01:15:00"); 
thoigian.setUTCFullYear(2026);
document.write("Lấy thời gian của đối tượng Date theo năm (UTC): "+thoigian.toUTCString()+"<br>"); // Kết quả: Fri, 04 Sep 2026 18:15:00 GMT
// Lấy thời gian của đối tượng Date theo năm,tháng,ngày (UTC)
document.write("<b>//Lấy thời gian của đối tượng Date theo năm,tháng,ngày (UTC)</b><br>");
var thoigianhai  = new Date("September 05, 2025 01:15:00"); 
thoigianhai.setUTCFullYear(2026,3,20);
document.write("Lấy thời gian của đối tượng Date theo năm,tháng,ngày (UTC): "+thoigianhai.toUTCString()+"<br>"); // Kết quả: Mon, 20 Apr 2026 18:15:00 GMT
</script>

Kết quả:

//Lấy thời gian của đối tượng Date theo năm(UTC)
Lấy thời gian của đối tượng Date theo năm (UTC): Fri, 04 Sep 2026 18:15:00 GMT
//Lấy thời gian của đối tượng Date theo năm,tháng,ngày (UTC)
Lấy thời gian của đối tượng Date theo năm,tháng,ngày (UTC): Mon, 20 Apr 2026 18:15:00 GMT

Chạy Thử

Những lưu ý khi sử dụng setUTCFullYear() trong JavaScript

Khi làm việc với setUTCFullYear(), điều quan trọng không chỉ là truyền đúng giá trị năm mà còn phải hiểu phương thức này xử lý ngày tháng theo UTC. Một vài trường hợp đặc biệt liên quan đến đối tượng Date, ngày không hợp lệ hoặc múi giờ có thể khiến kết quả khác với dự tính.

setUTCFullYear() thay đổi trực tiếp đối tượng Date

setUTCFullYear() không tạo ra một đối tượng Date mới. Phương thức này cập nhật trực tiếp năm của đối tượng hiện tại và trả về timestamp tương ứng với thời điểm sau khi thay đổi.

Vì vậy, nếu cùng một đối tượng Date được sử dụng ở nhiều vị trí trong chương trình, việc gọi phương thức có thể làm thay đổi dữ liệu mà các đoạn mã khác đang tham chiếu.

const date = new Date("2026-08-17T10:30:00Z");

const timestamp = date.setUTCFullYear(2030);

console.log(date.toISOString());
console.log(timestamp);

Nếu cần giữ nguyên ngày ban đầu để thực hiện nhiều phép tính độc lập, nên tạo một bản sao của đối tượng Date trước khi thay đổi.

Cẩn thận khi thay đổi năm với ngày không hợp lệ

Khi thay đổi năm, phần ngày và tháng hiện tại vẫn được giữ lại nếu không truyền thêm tháng hoặc ngày. Tuy nhiên, những tổ hợp như ngày 29 tháng 2 có thể tạo ra kết quả khác với điều bạn mong đợi khi chuyển sang một năm không phải năm nhuận.

Chẳng hạn, một đối tượng đang biểu diễn ngày 29/02 của năm nhuận. Nếu chỉ thay đổi năm sang năm thường, JavaScript sẽ tự điều chỉnh ngày để tạo thành một thời điểm hợp lệ thay vì giữ nguyên ngày 29/02.

const date = new Date(Date.UTC(2028, 1, 29));

date.setUTCFullYear(2027);

console.log(date.toISOString());

Do đó, khi xử lý ngày sinh, ngày hết hạn hoặc các mốc lịch có yêu cầu chính xác, nên kiểm tra cả năm, tháng và ngày thay vì chỉ thay đổi riêng năm.

Phân biệt setUTCFullYear() với setFullYear()

Điểm khác biệt quan trọng nằm ở múi giờ được sử dụng để xác định và cập nhật các thành phần của ngày. setUTCFullYear() làm việc theo thời gian UTC, trong khi setFullYear() sử dụng múi giờ địa phương của môi trường đang chạy JavaScript.

Sự khác biệt này đặc biệt đáng chú ý khi ứng dụng hoạt động trên máy chủ và trình duyệt ở các múi giờ khác nhau. Nếu mục tiêu là thao tác với một mốc thời gian thống nhất giữa các hệ thống, sử dụng phiên bản UTC sẽ giúp hạn chế ảnh hưởng từ múi giờ địa phương.

const date = new Date("2026-01-01T23:00:00Z");

date.setUTCFullYear(2030);

console.log(date.toISOString());

Ngược lại, nếu ứng dụng cần xử lý ngày tháng theo giờ địa phương của người dùng, setFullYear() có thể phù hợp hơn. Việc lựa chọn phương thức nên dựa trên cách ứng dụng định nghĩa và lưu trữ thời gian, thay vì chỉ dựa vào tên phương thức.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức Date setUTCFullYear() 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 setUTCFullYear() 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) !