日期的获取 var d = new Date() console.log(d); 2019年8月12号 星期三 19:12:23 获取方法:get系列 console.log(d.getFullYear()); //年 console.log(d.getMonth()); //月 console.log(d.getDate()); //日 console.log(d.getDay()); //星期 console.log(d.getHours()); //小时 console.log(d.getMinutes()); //分 console.log(d.getSeconds()); //秒 console.log(d.getMilliseconds()); //毫秒 console.log(d.getTime()); //毫秒数,从1970年1月1号0:0:0到这一刻的毫秒数,时间戳
例:获取当前时间,以对象的形式输出:
function createDate(){ var d = new Date(); var y = d.getFullYear(); var m = d.getMonth(); var mydate = d.getDate(); var myday = d.getDay(); var h = d.getHours(); var mts = d.getMinutes(); var s = d.getSeconds(); switch(myday){ case 0:myday = "星期日";break; case 1:myday = "星期一";break; case 2:myday = "星期二";break; case 3:myday = "星期三";break; case 4:myday = "星期四";break; case 5:myday = "星期五";break; case 6:myday = "星期六";break; } // return y + "年" + createZero(m+1) + "月" + createZero(mydate) + "日 " + myday + " " + createZero(h) + ":" + createZero(mts) + ":" + createZero(s); //自己排好样式输出 var obj={ year:y, month:createZero(m+1), date:createZero(mydate), day:myday, hours:createZero(h), minutes:createZero(mts), seconds:createZero(s) }; console.log( obj.year) } function createZero(n){ return n<10 ? "0"+n : n; } createDate()
创建时:
直接设置:创建日期时传参: // 字符:一个参数;可以设置局部;没有设置的部分清0;年月日的部分之间,可以用-.,/隔开;超出上限,Invalid Date对象(意外的日期对象) var d = new Date("2008.8.8 20:8:8"); var d = new Date("2008.8.8"); var d = new Date("2008/8/8"); var d = new Date("2008,8,8"); var d = new Date("2008-8-8"); var d = new Date("2008-13-8"); console.log(d)
数值设置:多个参数,每一部分都是一个参数;月份从0开始计算;可以设置局部;没有设置的部分清0;超出上限,向前进1 var d = new Date(2008,8,8,8,8,8); var d = new Date(2008,7,8,8,8,8); var d = new Date(2008,7,8); var d = new Date(2008,16,8); console.log(d)
创建后:
// 方法设置:set系列:接收的是数值;月份从0开始;没有设置的部分是当前时间;超出上限,进1 var d = new Date() // 分部设置,指定的值 d.setFullYear(2008) d.setMonth(16) d.setDate(8) d.setHours(8) d.setMinutes(8) d.setSeconds(8) d.setMilliseconds(8) // d.setTime(100000000000) //时间戳可以覆盖上面的
// 时间戳设置:以计算机元年开始经过了的毫秒数
例题:计算两个时刻的差值:
function dateDiff(d1,d2){ var oldDate = new Date(d1); var newDate = d2 ? new Date(d2) : new Date(); var t = Math.abs(oldDate.getTime() - newDate.getTime()); var d = parseInt(t/1000/60/60/24); var h = parseInt((t - d*24*60*60*1000)/1000/60/60); var m = parseInt((t - d*24*60*60*1000 - h*60*60*1000)/1000/60); var s = parseInt((t - d*24*60*60*1000 - h*60*60*1000 - m*60*1000)/1000); return { day:d, hours:h, minutes:m, seconds:s } } var diff1 = dateDiff("1997-7-1 0:0:0","1937/10/1 10:1:0"); console.log(diff1) var diff2 = dateDiff("1997-7-1 0:0:0"); console.log(diff2)