js 日期对象
1. 日期对象方法名说明表
2.日期分析过程
1 /* 2 Date() 日期对象 是一个构造函数 必须使用new 来调用创建我们的日期对象 3 */ 4 var arr = new Array(); //创建一个数组对象 5 var obj = new Object(); //创建了一个对象实例 6 // 使用Date ,如果没有参数,返回的当前系统的当前时间 7 var date = new Date(); 8 console.log(date); 9 // 参数常用的写法 数字型的 10 var date1 = new Date(2020, 10, 1) 11 console.log(date1); 12 13 // 字符串写法 14 var date2 = new Date('2020-10-1 8:8:8') 15 console.log(date2); 16 17 18 /** 19 * 格式化日期 年 月 日 20 * 21 */ 22 23 var date = new Date(); 24 console.log(date.getFullYear()); //返回当前日期的年 25 console.log(date.getMonth()+1); //返回当前日期的月 返回的月份小一个月 月份+1 26 console.log(date.getDate()); //返回当前日期的日 27 console.log(date.getDay()); //返回当前日期的星期几 28 console.log(date.getHours()); //返回当前日期的时 29 console.log(date.getMinutes()); //返回当前日期的分 30 console.log(date.getSeconds()); //返回当前日期的秒
3.封装日期对象(最终代码)
1 function getTime(){ 2 var date = new Date(); 3 var year = date.getFullYear(); //年 4 var month = date.getMonth()+1; //月 5 var dates = date.getDate(); //日 6 var arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六']; //注意:必须先写星期日 7 var day = date.getDay(); //星期 8 var hours = date.getHours(); //时 9 hours = hours < 10 ? '0' + hours : hours; //显示00:00:00 10 var minutes = date.getMinutes(); //分 11 minutes = minutes < 10 ? '0' + minutes : minutes; 12 var seconds = date.getSeconds(); //秒 13 seconds = seconds < 10 ? '0' + seconds : seconds; 14 15 return year+ '-' +month+ '-' +dates+ '\t' +arr[day]+ '\t' + hours+' : '+minutes+' : '+seconds 16 } 17 console.log(getTime()); // 例 : 2000-10-01 星期二 12 : 08 : 50
4. 获得Date总的毫秒数(事件戳)
1 // 获得Date总的毫秒数(事件戳) 不是当前时间的毫秒数 而是距离1970年1月1号过了多少毫秒数 2 3 // 1. 通过 valueOf() getTime() 4 var date = new Date(); 5 console.log(date.valueOf()); 6 console.log(date.getTime()); 7 8 // 2.常用的写法 +new Date() 9 var date1 = +new Date(); //返回总的毫秒数 10 console.log(date1); 11 12 // 3.H5 新增的 获取总的毫秒数 13 console.log(Date.now());
5.倒计时
1 /* 2 倒计时: 3 1.输入的时间减去现在的时间就是剩余时间, 4 2.用时间戳,用总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数; 5 3.把剩余时间总的毫秒数转换为天,时,分,秒。 6 d = parseInt(总的秒数/60/60/24); 计算天数 7 h = parseInt(总秒数/60/60%24); 计算小时 8 m = parseInt(总秒数/60%60); 计算分数 9 s = parseInt(总秒数%60); 计算当前秒数 10 **/ 11 12 function countDown(time){ 13 var nowTime = +new Date(); //返回的是当前时间的总的毫秒数 14 var inputTime = +new Date(time); //输入的时间总毫秒数 15 var time = (inputTime - nowTime) / 1000; //输入的总毫秒 - 当前的总的毫秒数 16 var d = parseInt(time / 60 /60 /24); //天 17 d = d < 10 ? '0' + d : d; //如何小于10 ,前面加0 18 var h = parseInt(time / 60 /60 %24); //时 19 h = h < 10 ? '0' + h : h; 20 var m = parseInt(time / 60 %60); //计算分数 21 m = m < 10 ? '0' + m : m; 22 var s = parseInt(time % 60); //计算当前秒数 23 s = s < 10 ? '0' + s : s; 24 return d + '天' + h + '时' + m + '分' + s + '秒'; 25 } 26 console.log(countDown('2020-11-11 00:00:00')); 27 var date = new Date(); //当前时间 28 console.log(date);