Phương thức Date setSeconds() trong JavaScript
Bùi Tấn Lực
- 926
- 05/09/2025
Chức năng của Phương thức Date setSeconds() trong JavaScript
Phương thức Date setSeconds() trong JavaScript dùng để thay đổi số giây trong đối tượng thời gian Date theo múi giờ địa phương, ngoài ra còn có thể thay đổi số mili giây.
Cú pháp của Phương thức Date setSeconds() trong JavaScript
doituongdate.setSeconds(sogiay);
doituongdate: Đối tượng thời gian new Date();
sogiay: Số giây, bắt buộc nhập.
doituongdate.setSeconds(sogiay,somiligiay);
doituongdate: Đối tượng thời gian new Date();
sogiay: Số giây, bắt buộc nhập.
somiligiay: số mili giây, không bắt buộc nhập.
Code Phương thức Date setSeconds() trong JavaScript
<script>
// Đổi số giây từ 30 thành 31
document.write("<b>// Đổi số giây từ 30 thành 31</b><br>");
var thoigian = new Date("September 02, 2025 09:25:30.666"); // 30 giây
thoigian.setSeconds(31);
document.write("Đổi số giây từ 30 thành 31: "+thoigian+"<br>"); // Kết quả: Tue Sep 02 2025 09:25:31 GMT+0700 (Giờ Đông Dương)
// Đổi số giây từ 30 thành 32, số mili giây từ 666 thành 668
document.write("<b>// Đổi số giây từ 30 thành 32, số mili giây từ 666 thành 668</b><br>");
var thoigianhai = new Date("September 02, 2025 09:25:30.666"); // 30 giây, 666 mili giây
thoigianhai.setSeconds(32,668);
document.write("Đổi số giây từ 30 thành 32, số mili giây từ 666 thành 668: "+thoigianhai+"<br>"); // Kết quả: Tue Sep 02 2025 09:25:32 GMT+0700 (Giờ Đông Dương)
var miligiayhai = thoigianhai.getMilliseconds();
document.write("Số mili giây: "+miligiayhai+"<br>"); // Kết quả: 668
</script>
Kết quả:
// Đổi số giây từ 30 thành 31
Đổi số giây từ 30 thành 31: Tue Sep 02 2025 09:25:31 GMT+0700 (Giờ Đông Dương)
// Đổi số giây từ 30 thành 32, số mili giây từ 666 thành 668
Đổi số giây từ 30 thành 32, số mili giây từ 666 thành 668: Tue Sep 02 2025 09:25:32 GMT+0700 (Giờ Đông Dương)
Số mili giây: 668
Ứng dụng setSeconds() trong xử lý thời gian JavaScript
setSeconds() hữu ích khi cần thay đổi riêng phần giây của một đối tượng Date mà không phải tạo lại toàn bộ thời gian. Phương thức này phù hợp với các thao tác như cộng hoặc trừ số giây, điều chỉnh thời điểm trước khi thực hiện phép tính thời gian và xây dựng các chức năng liên quan đến bộ đếm.
Điều chỉnh số giây cho một thời điểm cụ thể
Có thể truyền một giá trị giây trực tiếp vào setSeconds() để thay thế phần giây hiện tại. Giá trị mới được áp dụng trên chính đối tượng Date, vì vậy nếu cần giữ lại thời điểm ban đầu thì nên tạo một đối tượng thời gian khác trước khi thay đổi.
const date = new Date('2026-08-17T10:20:30');
date.setSeconds(45);
console.log(date);
Trong ví dụ trên, phần giây được chuyển từ 30 thành 45, còn giờ và phút vẫn được giữ nguyên. Cách làm này phù hợp khi ứng dụng cần hiệu chỉnh một thành phần cụ thể của thời gian.
Kết hợp setSeconds() với getSeconds()
Khi cần tăng hoặc giảm một khoảng thời gian, có thể lấy số giây hiện tại bằng getSeconds() rồi truyền kết quả vào setSeconds(). Cách này linh hoạt hơn việc gán một giá trị cố định vì khoảng thay đổi có thể được xác định theo dữ liệu thực tế.
const date = new Date('2026-08-17T10:20:30');
date.setSeconds(date.getSeconds() + 15);
console.log(date);
Kết quả là thời điểm được tăng thêm 15 giây. Tương tự, có thể truyền một phép tính với giá trị âm để lùi thời gian. Đây là cách đơn giản để xử lý những thao tác cộng trừ thời gian mà không cần tự tính lại phút hoặc giờ.
Xử lý khi số giây vượt quá 59
setSeconds() không bắt buộc giá trị giây phải nằm trong khoảng từ 0 đến 59. Khi giá trị vượt giới hạn, đối tượng Date sẽ tự điều chỉnh sang phút, giờ hoặc ngày tương ứng.
const date = new Date('2026-08-17T10:20:30');
date.setSeconds(75);
console.log(date);
Với 75 giây, JavaScript sẽ tự quy đổi thành phần giây hợp lệ và cộng thêm thời gian tương ứng vào phút. Cơ chế này đặc biệt hữu ích khi cộng thời lượng mà không cần viết thêm logic kiểm tra trường hợp giây vượt quá 59.
Tương tự, nếu truyền giá trị âm, JavaScript cũng tự điều chỉnh về phút hoặc giờ trước đó. Vì vậy, thay vì tự xử lý từng trường hợp tràn thời gian, có thể tận dụng cơ chế chuẩn hóa của đối tượng Date để code ngắn gọn và dễ bảo trì hơn.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Date setSeconds() 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 *