// 在JavaScript程序中,所谓的时间戳,值得是
// 当前时间和 格林尼治时间 1970年1月1日,0点0分0秒,相差的毫秒数
// 简单理解,就是从 格林尼治时间 1970年1月1日,0点0分0秒,到现在,过了多少毫秒
var d = new Date();
var times = d.getTime();
console.log(times);
// 实际项目中,时间戳,往往用于计算时间,来衡量时间差
// 例如 : 秒杀倒计时
// 秒杀 是 4月1日 0点0分0秒开始
// 4月1日 0点0分0秒 这个时间有 时间戳
// 当前时间 也会有 时间戳
// 两个时间戳相减 结果是 两个时间之间的时间差,单位是毫秒
// 再将这个毫秒,转化为 天,小时,分钟,秒,就是我们要的结果
// 获取2020年4月1日0点0分0秒的时间戳
// 获取指定时间的时间对象, Date()参数是要获取的时间的字符串
// '年-月-日 空格 小时:分钟:秒'
// 有参数,获取指定时间的时间对象
var end = new Date('2020-4-1 0:0:0');
// 当前的时间对象,没有参数,获取当前时间对象
var start = new Date();
// 计算时间差,应该是 最终的事件的时间戳,减去当前时间的时间戳
// 时间单位是 毫秒, 需要转化为秒 1秒 = 1000毫秒
// 转化的秒数,是小数,我们只要整数部分,取整
// parseInt() Math.ceil() Math.floor()
// end - start 直接使用时间对象相减 也可以获取 时间差
// 一些低版本的浏览器,还有一些IE版本的浏览器,对这样时间对象直接相减,操作不支持
var times = parseInt( ( end.getTime() - start.getTime() ) / 1000 ) ;
console.log(times);
// 需要将时间差的秒数 转化为 天,小时,分钟,秒等信息
// 1,将秒,转化为天
// 秒数 / 一天的秒数 对结果取整 只获取整数部分
// parseInt() 或者 Math.floor()
var day = parseInt( times / (24*60*60) ) ;
console.log(day);
// 2, 将 转化为 天数之后, 剩余的秒数, 转化为 小时
// 而不是所有的秒数
// 方法1: 总秒数 - 天数所代表的秒数 --- 是我们要转化为小时的秒数
// var a = times - day*(24*60*60);
// console.log(a);
// 方法2: 总秒数 % 一天的秒数 求余数
// 将所有的秒数,都转化为天,之后剩余的余数,就是我们要求的数值,也就是转化为小时的秒数
// var b = times % (24*60*60);
// console.log(b);
// 转化为小时的秒数 / 一小时有多少秒 结果,获取整数部分
var hour = parseInt( ( times % (24*60*60) ) / (60*60) );
console.log(hour);
// 3 , 将 剩余的秒数,转化为分钟
// 方法1:总秒数 - 天数的秒数 - 小时的秒数
// 方法2: 总秒数 % 小时的秒数
// 剩余的秒数 / 分钟的秒数 获取整数部分
var minute = parseInt( ( times % (60*60) ) / 60 );
console.log(minute);
// 4 , 求剩余的秒数
// 方法1 : 总秒数 - 天的秒数 - 小时的秒数 - 分钟的秒数
// 方法2 : 总秒数 % 一分钟的秒数
var second = times % 60 ;
console.log(second);
document.write( `距离结束时间,还有${day}天,${hour}小时,${minute}分钟,${second}秒` );
---------------------------------------------------------------
function setTime(end){
var endTime = new Date(end);
var startTime = new Date();
var times = parseInt( ( endTime.getTime() - startTime.getTime() ) / 1000 );
var day = parseInt(times / (24*60*60));
var house = parseInt( (times % (24*60*60)) / (60*60) );
var minute = parseInt( (times % (60*60)) / (60) );
var second = times % 60;
return `距离愚人节,还有${day}天,${house}小时,${minute}分钟,${second}秒`;
}
d.innerHTML = setTime('2020-4-1 0:0:0');
setInterval( function(){
d.innerHTML = setTime('2020-4-1 0:0:0');
} , 1000 );