一.时间对象
在js里会内置一个时间对象 ,用于操作js的时间;Date
1.获取当前的时间对象
var date = new Date(); //当前的时间的时间对象,注意下 :这个时间是你的电脑时间,一般用的时间会从服务器获取
console.log(date);
2.设置时间对象的时间
// 设置时间方式一:
// 参数分别是 年 月(注意:是从0-11月) 日 时 分 秒
// 参数后面可以省略 (可以传一个 二个 三个 ....)
var date = new Date("2020","7","3");
console.log(date);
// 设置时间对象的时间方式二:注意 月份就是 1-12月
// 年份 连接符号 可以是 - / .
var date = new Date("2020-8-5 14:20:1");
console.log(date);
二.时间对象的操作方法
1.获取年份:getFullYear
var year = nowDate.getFullYear();
console.log(year);
2.获取月份:getMonth
var month = nowDate.getMonth();
console.log(month+1); // 获取的月份 一定要加1 才是现在的月份
3.获取天:getDate
var day = nowDate.getDate();
console.log(day);
4.获取星期:getDay
var day = nowDate.getDay(); //尤其要和获取天区分开
console.log(day);
5.获取小时:getHours(24小时制)
var hour = nowDate.getHours();
console.log(hour);
6.获取分:getMinutes
var minute = nowDate.getMinutes();
console.log(minute);
7.获取秒:getSeconds
var second = nowDate.getSeconds();
console.log(second);
三.时间戳
一个时间距离 格林威治时间(1970年1月1日0时0分0秒)的 毫秒数
// 如何获取时间戳 : 时间对象.getTime();
var date = new Date();
var time = date.getTime();
console.log(time); //当前的时间戳 就是 当前时间 距离 格林威治时间的毫秒数
// 用处 可以做2个时间之间的实际差 ;或者是倒计时 、秒杀
// 注意 :时间戳 在js里是毫秒 ,在很多后台传过来的时间戳是秒
四.倒计时案例
周一 上午 9点:上课 距离现在有多久
function run() {
// 1.周一上课时间对象 :
var mdate = new Date("2021-8-30 09:00:00"); //周一上午9点
// console.log(mdate);
// 2.现在的时间对象
var nowDate = new Date(); //现在的时间对象
// 3.获取对象的时间戳 ,计算中间的时间差
var mtimeStamp = mdate.getTime(); //周一上课的时间戳;
var nowTimeStamp = nowDate.getTime(); //当前时间的时间戳;
// 距离周一的时间差
var time = (mtimeStamp - nowTimeStamp) / 1000;
// console.log(time);
// 算出天数
var day = parseInt(time / 3600 / 24);
// console.log(day);
// 算出小时数
var hour = parseInt(time / 3600) % 24
// console.log(hour);
// 算出分钟
var minute = parseInt(time / 60) % 60;
// console.log(minute)
// 算出秒
var second = parseInt(time % 60);
// console.log(second);
// document.write("距离周一上课还有" + day + "天" + hour + "小时" + minute + "分钟" + second + "秒");
// 替换html代码
document.body.innerHTML = "距离周一上课还有" + day + "天" + hour + "小时" + minute + "分钟" + second + "秒";
}
setInterval(run, 1000);
总结:思路把2个需要倒计时的时间获取到对应的 时间戳 ,然后再计算2个时间中的时间差,最后把时间差转成
对应的天 小时 分钟 和 秒就可以了