Phương thức Date setUTCSeconds() trong JavaScript
Bùi Tấn Lực
- 906
- 06/09/2025
Chức năng của Phương thức Date setUTCSeconds() trong JavaScript
Phương thức Date setUTCSeconds() trong JavaScript dùng để đổi số giâ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 số giâ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 setUTCSeconds() trong JavaScript
doituongdate.setUTCSeconds(sogiay);
doituongdate: Là một biến trả về từ đối tượng new Date();
sogiay: Số giây.
Code Phương thức Date setUTCSeconds() trong JavaScript
<script>
// Đổi 30 giây thành 31 giây theo múi giờ quốc tế (UTC)
document.write("<b>// Đổi 30 giây thành 31 giây theo múi giờ quốc tế (UTC)</b><br>");
var thoigian = new Date("September 02, 2025 09:25:30"); // Ngày 2/9/2025 9h 25 phút 30 giây
thoigian.setUTCSeconds(31); // Đổi 30 giây thành 31 giây theo múi giờ quốc tế (UTC)
document.write("Đổi 30 giây thành 31 giây theo múi giờ quốc tế (UTC): "+thoigian.toUTCString()+"<br>"); // Kết quả: Tue, 02 Sep 2025 02:25:31 GMT
</script>
Kết quả:
// Đổi 30 giây thành 31 giây theo múi giờ quốc tế (UTC)
Đổi 30 giây thành 31 giây theo múi giờ quốc tế (UTC): Tue, 02 Sep 2025 02:25:31 GMT
Lưu ý khi sử dụng Date setUTCSeconds() trong JavaScript
Khi làm việc với setUTCSeconds(), cần chú ý cách JavaScript xử lý giá trị giây và phạm vi thời gian. Ngoài ra, việc lựa chọn giữa phương thức UTC và phương thức theo giờ địa phương cũng ảnh hưởng trực tiếp đến kết quả khi thao tác với đối tượng Date.
setUTCSeconds() xử lý giá trị giây vượt quá 59 như thế nào?
Tham số giây không bắt buộc phải nằm trong khoảng từ 0 đến 59. Nếu truyền giá trị lớn hơn 59 hoặc nhỏ hơn 0, JavaScript sẽ tự động điều chỉnh sang phút tương ứng thay vì báo lỗi.
Chẳng hạn, đặt giây thành 75 sẽ được hiểu là thêm 1 phút và còn 15 giây. Tương tự, giá trị âm có thể làm thời gian lùi về phút trước. Cách xử lý này hữu ích khi giá trị giây được tính toán từ dữ liệu động và chưa được chuẩn hóa trước.
const date = new Date("2026-08-17T10:20:30Z");
date.setUTCSeconds(75);
console.log(date.toISOString());
Trong ví dụ trên, phần giây được JavaScript tự cân đối với phút. Vì vậy, không nên chỉ kiểm tra riêng giá trị trả về của tham số mà cần xem toàn bộ thời điểm sau khi cập nhật.
setUTCSeconds() có làm thay đổi đối tượng Date ban đầu không?
setUTCSeconds() thay đổi trực tiếp giá trị thời gian của đối tượng Date được gọi. Phương thức này không tạo ra một đối tượng Date mới chứa kết quả.
Đây là điểm cần lưu ý khi một biến Date đang được sử dụng ở nhiều vị trí trong chương trình. Nếu gọi setUTCSeconds(), những đoạn mã sử dụng cùng đối tượng đó sau khi cập nhật sẽ nhận được thời gian mới.
const date = new Date("2026-08-17T10:20:30Z");
const sameDate = date;
date.setUTCSeconds(45);
console.log(sameDate.toISOString());
Trong trường hợp cần giữ nguyên thời điểm ban đầu, nên tạo một đối tượng Date khác trước khi thực hiện thao tác thay đổi. Cách này giúp hạn chế lỗi do vô tình làm biến đổi dữ liệu đang được dùng ở nơi khác.
Khi nào nên dùng setUTCSeconds() thay vì setSeconds()?
Hai phương thức đều thay đổi phần giây của đối tượng Date, nhưng khác nhau ở múi giờ được sử dụng để xác định các thành phần thời gian. setUTCSeconds() thao tác theo hệ UTC, trong khi setSeconds() dựa trên giờ địa phương của môi trường đang chạy JavaScript.
Nếu ứng dụng xử lý dữ liệu thời gian từ máy chủ, API hoặc hệ thống cần một mốc thời gian thống nhất giữa nhiều quốc gia, setUTCSeconds() thường là lựa chọn rõ ràng hơn. Ngược lại, khi logic cần phản ánh thời gian địa phương của người dùng, setSeconds() có thể phù hợp hơn.
Điều quan trọng là nên chọn một quy ước thời gian nhất quán trong cùng một luồng xử lý. Việc trộn thao tác UTC và giờ địa phương mà không xác định rõ mục đích có thể khiến kết quả khó kiểm soát, đặc biệt khi ứng dụng được sử dụng ở nhiều múi giờ.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Date setUTCSeconds() trong JavaScript.
- 0 Bình luận
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 *