1、根据某时间计算经过了多长时间
JavaScript 代码
var time_start = new Date('2018','7','15');//开始时间,注意!!!如果从8月15开始,月份就是7月15
var clock_start = time_start.getTime();
//计算时间差
function get_time_spent() {
var time_now = new Date();
return ((time_now.getTime() - clock_start));
}
function get_times() {
var i_total_secs = Math.round(get_time_spent());
//计算出相差天数
var days = Math.floor(i_total_secs / (24 * 3600 * 1000))
//计算出小时数
var leave1 = i_total_secs % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000))
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000))
//计算相差秒数
var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000)
if (seconds.toString().length == 1) {
seconds = '0' + seconds;
}
console.log(days + '天' + hours + '个小时' + minutes + '分钟' + seconds + '秒');
document.getElementById('timer').innerHTML="
"
"
"
window.setTimeout('show_secs()', 1000); //每隔1s刷新一次input里的值
}
HTML代码
2、倒计时
JavaScript代码
//获取截至时间
const endTime = new Date("2019/10/21 00:00:00").getTime();
let timer = setInterval(function() {
const today = new Date().getTime();
// 获取时间差
const timer = endTime - today;
// 获取天数、月数、分钟数、秒数
let days = Math.floor(timer / (1000 * 60 * 60 * 24));
let hours = Math.floor((timer % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = Math.floor((timer % (1000 * 60 * 60)) / (1000 * 60));
let seconds = Math.floor((timer % (1000 * 60)) / 1000);
if(days <=0){
document.getElementById('days').innerHTML=0;
document.getElementById('hours').innerHTML=0;
document.getElementById('minutes').innerHTML=0;
document.getElementById('seconds').innerHTML=0;
}else{
document.getElementById('days').innerHTML=days;
document.getElementById('hours').innerHTML=hours;
document.getElementById('minutes').innerHTML=minutes;
document.getElementById('seconds').innerHTML=seconds;
}
}, 1000);
HTML代码
天
小时
分
秒