JS日期对象

时间:2020-02-23 14:33:49  来源:igfitidea点击:

在本教程中,我们将学习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