JS日期对象
在本教程中,我们将学习JavaScript日期对象。
我们使用Date对象来设置并获取一定的时间值。
Date对象的实例
为了创建Date对象的实例,我们使用new
关键字。
var dateObj = new Date();
日期语法
以下是创建Date对象实例的语法。
new Date(); new Date(value); new Date(dateString); new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]);
value是一个整数值,表示自1970年1月1日UTC 00:00:00以来的时间(毫秒)。
dateString是表示日期的字符串,其格式对Date.parse()
方法有效。
year是year的整数值。
0到99对应1900到1999年。
对于其他年份,请使用整年,即2016年。
month是月份的整数值。
1月为0,12月为11。
日期(可选)是月份中一天的整数值。
值范围为1-31。
hours(可选)是小时的整数值。
值范围为0-23。
minutes(可选)是分钟的整数值。
值范围0-59。
seconds(可选)是秒的整数值。
值范围0-59。
毫秒(可选)是整数值(以毫秒为单位)。
值范围0-999。
当前当地时间
Date对象的实例保存创建日期的时间。
在以下示例中,我们在浏览器控制台中打印日期时间。
var dateObj = new Date(); console.log(dateObj); //sample output: Mon Jan 27 2014 20:04:43 GMT+0530 (IST)
以下是Date对象的一些方法。
Date对象的Getter方法
以下方法用于获取日期值。
getDate()
我们使用getDate()方法根据当地时间获取指定日期的月份(1-31)。
var dateObj = new Date(); console.log(dateObj.getDate()); //sample output: 25
getDay()
我们使用getDay()方法根据当地时间获取指定日期的星期几(0-6)。
0代表星期日,1代表星期一,依此类推。
var dateObj = new Date(); console.log(dateObj.getDay()); //sample output: 6
getFullYear()
我们使用getFullYear()方法来获取基于本地时间的特定日期的整年(4位数字)。
var dateObj = new Date(); console.log(dateObj.getFullYear()); //sample output: 2016
getHours()
我们使用getHours()方法根据当地时间获取特定日期的小时(0-23)。
var dateObj = new Date(); console.log(dateObj.getHours()); //sample output: 22
getMilliseconds()
我们使用getMilliseconds()方法基于本地时间获取特定日期的毫秒数(0-999)。
var dateObj = new Date(); console.log(dateObj.getMilliseconds()); //sample output: 558
getMinutes()
我们使用getMinutes()方法根据本地时间获取特定日期的分钟数(0-59)。
var dateObj = new Date(); console.log(dateObj.getMinutes()); //sample output: 42
getMonth()
我们使用getMonth()
方法来获取基于本地时间的特定日期的月份(0-11)。
0代表一月,1代表二月,依此类推。
var dateObj = new Date(); console.log(dateObj.getMonth()); //sample output: 1
getSeconds()
我们使用getSeconds()方法来获取基于本地时间的特定日期的秒数(0-59)。
var dateObj = new Date(); console.log(dateObj.getSeconds()); //sample output: 24
getTime()
我们使用getTime()方法获取自1970年1月1日UTC 00:00:00以来指定日期的数值(以毫秒为单位)。
var dateObj = new Date(); console.log(dateObj.getTime()); //sample output: 1415911137305
getTimezoneOffset()
我们使用getTimezoneOffset()方法来获取给定本地时间的时区偏移量(以分钟为单位)。
var dateObj = new Date(); console.log(dateObj.getTimezoneOffset()); //sample output: -330
getUTCDate()
我们使用getUTCDate()
方法根据通用时间获取月份中的某天(1-31)。
var dateObj = new Date(); console.log(dateObj.getUTCDate()); //sample output: 25
getUTCDay()
我们使用getUTCDay()
方法根据世界时获取星期几(0-6)。
0代表星期日,1代表星期一,依此类推。
var dateObj = new Date(); console.log(dateObj.getUTCDay()); //sample output: 6
getUTCFullYear()
我们使用getUTCFullYear()
方法来根据世界时获取整年(4位数字)。
var dateObj = new Date(); console.log(dateObj.getUTCFullYear()); //sample output: 2016
getUTCHours()
我们使用getUTCHours()方法根据世界时获取小时(0-23)。
var dateObj = new Date(); console.log(dateObj.getUTCHours()); //sample output: 17
getUTCMilliseconds()
我们使用" getUTCMilliseconds()"方法根据世界时获取毫秒数(0-999)。
var dateObj = new Date(); console.log(dateObj.getUTCMilliseconds()); //sample output: 558
getUTCMinutes()
我们使用getUTCMinutes()
方法来根据通用时间获取分钟数(0-59)。
var dateObj = new Date(); console.log(dateObj.getUTCMinutes()); //sample output: 42
getUTCMonth()
我们使用getUTCMonth()方法根据指定的时间获取月份(0-11)。
0代表一月,1代表二月,依此类推。
var dateObj = new Date(); console.log(dateObj.getUTCMonth()); //sample output: 1
getUTCSeconds()
我们使用" getUTCSeconds()"方法根据世界时获取秒(0-59)。
var dateObj = new Date(); console.log(dateObj.getUTCSeconds()); //sample output: 9
日期对象的设置方法
以下方法用于设置日期值。
设置日期( )
我们使用setDate()方法来设置Date对象相对于先前设置的日期的月份(1-31)。
var dateObj = new Date(2014, 0, 1); //date: 1st Jan 2014 console.log(dateObj); //sample output: Wed Jan 01 2014 00:00:00 GMT+0530 (IST) dateObj.setDate(5); console.log(dateObj); //sample output: Sun Jan 05 2014 00:00:00 GMT+0530 (IST)
setFullYear()
我们使用setFullYear()方法来设置Date对象相对于先前设置的日期的年份(如2014年)。
var dateObj = new Date(2014, 0, 1); //date: 1st Jan 2014 console.log(dateObj); //sample output: Wed Jan 01 2014 00:00:00 GMT+0530 (IST) dateObj.setFullYear(2014); console.log(dateObj); //sample output: Thu Jan 01 2014 00:00:00 GMT+0530 (IST)
setHours()
我们使用setHours()方法设置Date对象相对于先前设置的日期的一天中的小时(0-23)。
var dateObj = new Date(2014, 0, 1, 10, 20, 30); //date: 1st Jan 2014 10:20:30 console.log(dateObj); //sample output: Wed Jan 01 2014 10:20:30 GMT+0530 (IST) dateObj.setHours(15); console.log(dateObj); //sample output: Wed Jan 01 2014 15:20:30 GMT+0530 (IST)
setMilliseconds()
我们使用setMilliseconds()方法来设置Date对象相对于先前设置的日期的毫秒数(0-999)。
var dateObj = new Date(2014, 0, 1, 10, 20, 30, 500); //date: 1st Jan 2014 10:20:30 500 console.log(dateObj.getMilliseconds()); //sample output: 500 dateObj.setMilliseconds(700); console.log(dateObj.getMilliseconds()); //sample output: 700
setMinutes()
我们使用setMinutes()方法来设置Date对象相对于先前设置的日期的分钟数(0-59)。
var dateObj = new Date(2014, 0, 1, 10, 20, 30); //date: 1st Jan 2014 10:20:30 console.log(dateObj); //sample output: Wed Jan 01 2014 10:20:30 GMT+0530 (IST) dateObj.setMinutes(50); console.log(dateObj); //sample output: Wed Jan 01 2014 10:50:30 GMT+0530 (IST)
setMonth()
我们使用setMonth()方法设置Date对象相对于先前设置的日期的月份(0-11)。
1月为0,12月为11。
var dateObj = new Date(2014, 0, 1, 10, 20, 30); //date: 1st Jan 2014 10:20:30 console.log(dateObj); //sample output: Wed Jan 01 2014 10:20:30 GMT+0530 (IST) dateObj.setMonth(5); console.log(dateObj); //sample output: Sun Jun 01 2014 10:20:30 GMT+0530 (IST)
setSeconds()
我们使用setSeconds()方法来设置Date对象相对于先前设置的日期的秒数(0-59)。
var dateObj = new Date(2014, 0, 1, 10, 20, 30); //date: 1st Jan 2014 10:20:30 console.log(dateObj); //sample output: Wed Jan 01 2014 10:20:30 GMT+0530 (IST) dateObj.setSeconds(50); console.log(dateObj); //sample output: Wed Jan 01 2014 10:20:50 GMT+0530 (IST)
设置时间( )
我们使用setTime()方法设置自1970年1月1日UTC 10:00以来的时间(以毫秒为单位)。
var dateObj = new Date(2014, 0, 1, 10, 20, 30); //date: 1st Jan 2014 10:20:30 console.log(dateObj); //sample output: Wed Jan 01 2014 10:20:30 GMT+0530 (IST) dateObj.setTime(1456789012345); console.log(dateObj); //sample output: Tue Mar 01 2015 05:06:52 GMT+0530 (IST)
setUTCDate()
我们使用setUTCDate()
方法根据世界标准时间设置指定日期的月份(1-31)。
var dateObj = new Date(); console.log(dateObj); //sample output: Tue Nov 26 2013 21:58:11 GMT+0530 (IST) dateObj.setUTCDate(5); console.log(dateObj); //sample output: Tue Nov 05 2013 21:58:11 GMT+0530 (IST)
setUTCFullYear()
我们使用setUTCFullYear()
方法根据世界时设置指定日期的年份(如2014年)。
var dateObj = new Date(); console.log(dateObj); //sample output: Tue Nov 26 2013 21:59:45 GMT+0530 (IST) dateObj.setUTCFullYear(2014); console.log(dateObj); //sample output: Thu Nov 26 2014 22:01:48 GMT+0530 (IST)
setUTCHours()
我们使用setUTCHours()
方法根据世界标准时间设置指定日期的一天中的小时(0-23)。
var dateObj = new Date(); console.log(dateObj); //sample output: Tue Nov 26 2013 22:13:51 GMT+0530 (IST) dateObj.setUTCHours(15); console.log(dateObj); //sample output: Tue Nov 26 2013 21:13:51 GMT+0530 (IST)
setUTCMilliseconds()
我们使用setUTCMilliseconds()
方法根据世界标准时间设置指定日期的毫秒数(0-999)。
var dateObj = new Date(); console.log(dateObj.getUTCMilliseconds()); //sample output: 263 dateObj.setUTCMilliseconds(700); console.log(dateObj.getUTCMilliseconds()); //sample output: 700
setUTCMinutes()
我们使用setUTCMinutes()方法根据世界标准时间设置指定日期的分钟数(0-59)。
var dateObj = new Date(); console.log(dateObj); //sample output: Thu Nov 27 2014 09:52:22 GMT+0530 (IST) dateObj.setUTCMinutes(50); console.log(dateObj); //sample output: Thu Nov 27 2014 10:20:22 GMT+0530 (IST)
setUTCMonth()
我们使用setUTCMonth()
方法根据世界标准时间设置指定日期的月份(0-11)。
1月为0,12月为11。
var dateObj = new Date(); console.log(dateObj); //sample output: Thu Nov 27 2014 09:55:55 GMT+0530 (IST) dateObj.setUTCMonth(5); console.log(dateObj); //sample output: Fri Jun 27 2014 09:55:55 GMT+0530 (IST)
setUTCSeconds()
我们使用setUTCSeconds()
方法根据世界标准时间设置指定日期的秒数(0-59)。
var dateObj = new Date(); console.log(dateObj); //sample output: Thu Nov 27 2014 09:58:04 GMT+0530 (IST) dateObj.setUTCSeconds(50); console.log(dateObj); //sample output: Thu Nov 27 2014 09:58:50 GMT+0530 (IST)
其他一些日期对象方法
toDateString()
toDateString()方法以美国人可以理解的形式返回Date对象的日期部分。
var dateObj = new Date(); var str = dateObj.toDateString(); console.log(str); //sample output: Thu Nov 27 2014
toString()
toString()方法以人类可读的形式(以美式英语)返回字符串中的Date对象。
var dateObj = new Date(); var str = dateObj.toString(); console.log(str); //sample output: Thu Nov 27 2014 10:15:02 GMT+0530 (IST)
toUTCString()
toUTCString()方法在世界时区中以字符串形式返回Date对象。
var dateObj = new Date(); var str = dateObj.toUTCString(); console.log(str); //sample output: Thu, Nov 27 2014 04:46:54 GMT