js实现秒数
获取当前时间的秒数
使用 Date 对象获取当前时间的秒数:
const now = new Date();
const seconds = now.getSeconds();
console.log(seconds); // 输出当前秒数(0-59)
计算两个时间点之间的秒数差
计算两个 Date 对象之间的秒数差异:
const start = new Date('2023-01-01T00:00:00');
const end = new Date();
const diffInSeconds = Math.floor((end - start) / 1000);
console.log(diffInSeconds); // 输出相差的秒数
格式化秒数为时间字符串
将总秒数转换为 HH:MM:SS 格式:

function formatSeconds(totalSeconds) {
const hours = Math.floor(totalSeconds / 3600);
const minutes = Math.floor((totalSeconds % 3600) / 60);
const seconds = totalSeconds % 60;
return [
hours.toString().padStart(2, '0'),
minutes.toString().padStart(2, '0'),
seconds.toString().padStart(2, '0')
].join(':');
}
console.log(formatSeconds(3661)); // 输出 "01:01:01"
实现倒计时功能
创建一个简单的秒级倒计时:
let countdown = 10; // 10秒倒计时
const timer = setInterval(() => {
console.log(countdown);
countdown--;
if (countdown < 0) {
clearInterval(timer);
console.log('倒计时结束');
}
}, 1000);
高性能精确计时
使用 performance.now() 获取高精度时间(毫秒)并转换为秒:

const startTime = performance.now();
// 执行一些操作
for (let i = 0; i < 1000000; i++) {}
const endTime = performance.now();
const elapsedSeconds = (endTime - startTime) / 1000;
console.log(`耗时:${elapsedSeconds.toFixed(3)}秒`);
处理UNIX时间戳
将UNIX时间戳(秒)转换为日期对象:
const unixTimestamp = 1672531200; // 2023-01-01 00:00:00 UTC
const date = new Date(unixTimestamp * 1000);
console.log(date.toISOString());
秒数转换工具函数
常用秒数转换工具函数集合:
const secondsUtil = {
// 秒转分钟
toMinutes: (s) => s / 60,
// 秒转小时
toHours: (s) => s / 3600,
// 秒转天数
toDays: (s) => s / 86400,
// 人类可读格式
toHuman: (s) => {
const days = Math.floor(s / 86400);
const hours = Math.floor((s % 86400) / 3600);
const minutes = Math.floor((s % 3600) / 60);
const seconds = s % 60;
return `${days}d ${hours}h ${minutes}m ${seconds}s`;
}
};
console.log(secondsUtil.toHuman(100000)); // 输出 "1d 3h 46m 40s"






