var date = new Date(); //不传递参数的情况下自动获取当前日期(和时间)
console.log(date); //Tue Jul 26 2016 11:32:23 GMT+0800 (中国标准时间)
var date = new Date(1000); //Date()构造函数接收一个数值作为参数,该数值为某个日期的毫秒数表示
console.log(date); //Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)(参数1000表示距UTC标准时间1970-01-01 00:00:00经过的毫秒数,即1秒后的那个时间。这里输出8点是由于时区的原因)
var date = new Date('216-7-25'); //Date()构造函数内部会先对传入的字符串调用Date.parse()
var date = new Date(2016, 6, 25); //Date()构造函数内部会先对传入的多个数值调用Date.UTC()
var num = Date.parse('2016-7-25'); //传入一个描述日期的字符串,返回该日期的毫秒数表示
console.log(num); //1469376000000(2016-7-25的毫秒数表示)
- Date.UTC()
Date.UTC(year, monthIndex, [date], [hours], [minutes], [seconds], [ms])
var date = Date.UTC(2016, 6, 25);
console.log(date); //1469404800000(2016-7-25的毫秒数表示。注意到结果和Date.parse()返回的不一样,相差8小时的毫秒数,也就是说后者考虑了时区)
var num = Date.now();
console.log(num); //1469517993303(返回当前日期的毫秒数表示)
var start = Date.now();
doSomething();
var end = Date.now();
var result = end - start; //可以很方便的计算时间差
- Date的valueOf()方法
Date类型的valueOf()
返回日期的毫秒数表示,因此可以用来方便地比较两个日期的“大小”(先后):
var date1 = new Date('2012-5-4');
var date2 = new Date('2012-4-5');
console.log(date1.valueOf() > date2.valueOf()); //true
- 一些实例方法
getTime()
:返回日期的毫秒数表示。其值与 valueof() 返回的值相同
setTime(毫秒数)
:用毫秒数的形式设置时间和日期
getFullYear()
:返回4位数的年份
setFullYear(year)
:设置年份。传入的年份值必须是4位数
getMonth()
:返回月份。范围 0~11,0表示1月
setMonth(0~11)
:设置月份。若参数超过 11 会自动增加年份
getDate()
:返回年月日中的日(几号)。范围 1~31
setDate(1~31)
:设置几号。若超过该月最大天数则月份自动增加
getDay()
:返回星期几。0表示星期日,6表示星期六
getHours()
:返回时分秒中的时(几点)。范围 0~23
setHours(0~23)
:设置几点。若超过23则天数自动增加
getMinutes()
:返回时分秒中的分(几分)。范围 0~59
setMinutes(0~59)
:设置多少分。
getSeconds()
:返回时分秒中的秒(几秒)。范围 0~59
setSeconds()
:设置多少秒。
getMilliseconds()
:返回毫秒数。
setMilliseconds()
:设置毫秒数。