JS计算时间过去的时间,可以使用Date对象及其方法来实现。具体流程如下:
- 获取当前时间
可以使用new Date()
来创建Date对象,实现获取当前时间,代码如下:
let now = new Date();
- 指定时间
可以使用new Date(year, monthIndex, day, hour, minute, second, millisecond)
,指定指定特定的时刻,代码如下:
let specifiedTime = new Date(2022, 3, 21, 12, 0, 0, 0);
- 计算时间差
可以使用Date对象函数getTime()
获取两个时间的时间戳,进而计算时间差,代码如下:
let timeDiff = now.getTime() - specifiedTime.getTime();
- 转换时间格式
可以使用Math对象函数floor()
和模运算符转换时间格式,将时间差转换为小时,分钟和秒的格式,代码如下:
let hours = Math.floor(timeDiff / (1000 * 60 * 60));
let minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60));
let seconds = Math.floor((timeDiff % (1000 * 60)) / 1000);
至此,我们就计算出了指定时间到当前时间的小时、分钟、秒数。
下面是一个完整的代码示例:
let now = new Date();
let specifiedTime = new Date(2022, 3, 21, 12, 0, 0, 0);
let timeDiff = now.getTime() - specifiedTime.getTime();
let hours = Math.floor(timeDiff / (1000 * 60 * 60));
let minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60));
let seconds = Math.floor((timeDiff % (1000 * 60)) / 1000);
console.log(`距离指定时间还有${hours}小时 ${minutes}分钟 ${seconds}秒`);
示例2:
let now = new Date();
let specifiedTime = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 3, 10, 0, 0, 0);
let timeDiff = specifiedTime.getTime() - now.getTime();
let days = Math.floor(timeDiff / (1000 * 60 * 60 * 24));
let hours = Math.floor((timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60));
let seconds = Math.floor((timeDiff % (1000 * 60)) / 1000);
console.log(`距离3天后的10点还有${days}天 ${hours}小时 ${minutes}分钟 ${seconds}秒`);
以上示例可以计算出指定日期的距离现在的时间差,其中示例1指定了2022年4月21日12点的时间,示例2动态地指定了3天后的10点的时间。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js计算时间过去的时间 - Python技术站