一、date对象的基本应用
1、空构造函数获取当前时间
var d = new Date();
console.log(d);
结果如下:
2、构造函数中传入毫秒值 获取对应时间
var a = new Date(1502088177988);
console.log(a);
3.可以传入日期形式的字符串
var b = Date('1998-8-8 8:8:8');
var c = Date('1998/8/8 8:8:8');
console.log(b)
console.log(c);
4、可以传入数字
var e = new Date(1998,5);/*必须要有年月,日时分秒都可以省略*/
console.log(e);
二、如何获得毫秒数
一共四种方法:
//第一valueOf()
console.log(d.valueOf());
//第二getTime();这是推荐的方法
console.log(d.getTime());
// 第三now();这是HTML5提出的,所以有兼容性问题,获取当前时间毫秒值 静态成员
var num = Date.now();
console.log(num);
//第四 转换成数值
var num1 = + new Date(); /*转换成数值*/
console.log(num1);
三、date常用方法
var d = new Date();
console.log(d);
//tostring转换成字符串
console.log(d.toString());
// valueOf()获取毫秒值
/*格式化日期的方法,在不同的浏览器可能表现不一样一般不用
toDateString();
toTimeString();
toLocakeDateString();
toLocakeTimeString();*/
console.log(d.toDateString());
console.log(d.toTimeString());
console.log(d.toLocaleDateString());
console.log(d.toLocaleTimeString());
// getTime();返回毫秒数和valueOf()结果一样
console.log(d.getTime());
// getMilliseconds(); 获取毫秒值
console.log(d.getMilliseconds());
// getSeconds();返回秒0-59
console.log(d.getSeconds());
// getMinuter();返回分钟0-59
console.log(d.getMinutes());
// getHours();返回小时0-23
console.log(d.getHours());
// getDay();返回星期几 0周日 6周六
console.log(d.getDate());
// getDate();返回当前月的第几天
console.log(d.getDate());
// getMonth();返回月份 从0开始
console.log(d.getMonth());
// getFullYear();返回4位的年份 如2016
console.log(d.getFullYear());
四、练习
function formatDate(date) {
//判断参数是否是日期对象
if(!(date instanceof Date)){
console.error('date不是日期对象');
return;
}
return (date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getSeconds() + ":" + date.getMinutes());
}
var d = new Date();
var dateStr = formatDate(d);
console.log(dateStr);
// 计算时间差,返回相差的天/时/分/秒
function getInterval(star, end) {
differenceMillisecond = end - star;
var day = Math.floor(differenceMillisecond/1000/60/60/24);
var hour = Math.floor(differenceMillisecond/1000/60/60%24);
var seconds = Math.floor(differenceMillisecond/1000/60%60);
var minutes = Math.floor(differenceMillisecond/1000%60);
return { /*函数返回多个值*/
day: day,
hour:hour,
seconds:seconds,
minutes: minutes
};
}
var d1 = new Date();
var d2 = new Date(2019,6,1);
var o = getInterval(d1,d2);
console.log(o);