日期的获取
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)
长风破浪会有时,直挂云帆济沧海