一、 Date对象
Math和Date对象的区别 Math对象和Date对象的区别 Math不是一个构造函数,里面提供的是静态成员 Date是一个构造函数 首先要通过new Date() 来创建日期实例 GMT 格林威治时间 世界时间 GMT+0800 (中国标准时间) 创建Date 实例用来处理日期和时间。 Date对象基于1970年1月1日起的秒数
1. 用法:
1. 空构造函数 获取当前时间对象 var d = new Date(); console.log(d); 2. 构造函数中传入毫秒值 var d = new Date(); console.log(d.valueOf()); 获取毫秒值 var d = new Date(1575364161879); 3. 可以传入日期形式的字符串 var d = new Date('1994-10-16'); console.log(d); 4. 传入数字 5. 获取时间毫秒秒方法 d.getTime(); var num = Date.now(); var num = + new.Date()
2. Date的常用方法
日期格式化方法 toString() 转换成字符串 valueOf() 获取毫秒值 格式化日期的方法 在不同浏览器可能表现不一致, 一般不用 toDateString() toTimeString() toLocaleDateString() toLOcaleTimeString() 获取日期指定部分 getTime() 返回好小和vauleOf() 结果一样 getMilliseconds() getSeconds() 返回0-59 getMinutes() 返回0~59 getHours() 返回0~23 getDay() 返回星期几 0是周日 getDate() 返回当月的第几天 getMonth() 返回月份 **从0开始 getFullYear() 返回4位的年份 var d = new Date(); console.log(d.getFullYear()); console.log(d.getMonth() + 1); console.log(d.getDate()); console.log(d.getHours()); console.log(d.getMinutes()); console.log(d.getSeconds());
案例1 格式化日期对象
date instanceof Date 判断date是否是Date类型 console.err() 当发生错误时 可打印自定义日志 function formatDate(date) { if (!(date instanceof Date)) { console.error('date 不是日期对象'); return; } var year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(), hour = date.getHours(), minute = date.getMinutes(), second = date.getSeconds(); month = month < 10 ? '0' + month : month; day = day < 10 ? '0' + day : day; hour = hour < 10 ? '0' + hour : hour; minute = minute < 10 ? '0' + minute : minute; second = second < 10 ? '0' + second : second; return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second; } var d = new Date(2019, 1, 3); var dateStr = formatDate(d) console.log(dateStr);
案例2 计算时间差
function getInterval(start, end) { var interval = end -start; var day, hour, minute, second; interval /= 1000; day = Math.round(interval / 60 / 60 /24); hour = Math.round(interval /60 /60 % 24); minute = Math.round(interval / 60 % 60); second = Math.round(interval % 60); return { day: day, hour: hour, minute: minute, second: second, } } var d1 = new Date(); var d2 = new Date(2019,12,24); obj = getInterval(d1, d2); console.log(obj);