這篇文章帶給大家的內容是關於JavaScript中Date物件的詳解(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一、建立Date實例物件
#1.new Date();依據系統設定的目前時間來建立一個Date物件
let today = new Date(); console.log(today); //Thu Jun 14 2018 14:51:00 GMT+0800 (CST)
2.new Date(value);
#參數:value 代表自1970年1月1日00:00:00 (世界標準時間) 起經過的毫秒數
let day = new Date(1528959690000); console.log(day); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
3.new Date(dateString);
參數:dateString 表示日期的字串值。字串應該能被Date.parse() 方法辨識
let day1 = new Date("2018-06-14T07:01:30.000Z"); console.log(day1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
4.new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]] ]);
參數:
year 代表年份的整數值,為了避免2000年問題最好指定4位數的年份; 使用1998,而不要用98
month 代表月份的整數值從0(1月)到11(12月)
day 代表一個月中的第幾天的整數值,從1開始
hour 代表一天中的小時數的整數值(24小時制)
minute 分鐘數
second 秒數
#millisecond 表示時間的毫秒部分的整數值
let day2 = new Date(2018,5,14); console.log(day2); //Thu Jun 14 2018 00:00:00 GMT+0800 (CST) let day3 = new Date(2018,5,14,15,1,30); console.log(day3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
二、Date靜態屬性
1.Date.prototype 表示Date建構子的原型
Date實例繼承自Date.prototype,你可以使用建構子的原型物件為所有Date實例新增屬性或方法
三、Date靜態方法
1.Date.UTC() 方法傳回從1970-1-1 00:00:00 UTC到指定日期的毫秒數
語法:Date.UTC(year, month[,date[,hrs[,min[,sec[,ms]]]]])
參數:
year 1900 年後的某一年
month 0 到11 之間的整數,表示月份
date 1 到31 之間的整數,表示某月當中的第幾天
hrs 0 到23 之間的整數,表示小時
min 0 到59 之間的整數,表示分鐘
sec 0 到59 之間的整數,表示秒
ms 0 到999 之間的整數,表示毫秒
let utcDate = new Date(Date.UTC(2018, 5, 14, 7, 1, 30)); console.log(Date.UTC(2018, 5, 14, 7, 1, 30)); //1528959690000 console.log(utcDate); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
2.Date.now() 方法傳回自1970年1月1日00:00:00 UTC到目前時間的毫秒數
#let nowDate = new Date(Date.now()); console.log(nowDate); //Fri Jun 15 2018 16:31:05 GMT+0800 (CST) console.log(Date.now()); //1529051465358
3.Date.parse()方法傳回一個表示從1970-1-1 00:00:00 UTC到給定日期字串所表示時間的毫秒數的數值
#語法:Date.parse(dateString)
參數:dateString 一個符合RFC2822 或ISO 8601 日期格式的字串
##回傳值:傳回一個從1970-1-1 00:00:00 UTC到給定日期字串所表示時間的毫秒數的數值。如果參數不能解析為一個有效的日期,則傳回NaNlet time = Date.parse('2018-06-14T07:01:30.000Z'); console.log(time);// 1528959690000
四、Date實例方法
1.年
setFullYear() 方法根據本機時間為一個日期物件設定年份
語法:dateObj.setFullYear(yearValue[, monthValue[, dayValue]])參數:
#getFullYear() 方法根據本地時間傳回指定日期的年份
語法: dateObj.getFullYear()傳回值:根據當地時間,傳回一個對應於給定日期的年份數字
let date1 = new Date(1528959690000); console.log(date1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date1.setFullYear(2017)); //1497423690000 console.log(date1.getFullYear()); //2017
setUTCFullYear() 方法根據世界標準時間為一個具體日期設定年份
語法:dateObj.setUTCFullYear(yearValue[, monthValue[, dayValue]])參數:
getUTCFullYear( ) 以世界時為標準,傳回一個指定的日期物件的年份
語法:dateObj.getUTCFullYear()傳回值:傳回絕對數值,符合Year-2000 標準,例如1995
let day1 = new Date(1528959690000); console.log(day1.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day1.setUTCFullYear(2017)); //1497423690000 console.log(day1.getUTCFullYear()); //2017
2.月
setMonth() 方法根據本地時間為一個設定年份的日期物件設定月份
語法:dateObj.setMonth(monthValue[, dayValue])參數:
monthValue 介于 0 到 11 之间的整数(表示一月到十二月)
dayValue 从 1 到 31 之间的整数,表示月份中的第几天
getMonth() 方法根据本地时间,返回一个指定的日期对象的月份
语法:dateObj.getMonth()
返回值:返回一个0 到 11的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推
let date2 = new Date(1528959690000); console.log(date2); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date2.setMonth(4)); //1526281290000 console.log(date2.getMonth()); //4
setUTCMonth()方法根据通用的时间来设置一个准确的月份
语法:dateObj.setUTCMonth(monthValue[, dayValue])
参数:
monthValue 一个0-11的整数,代表1月到12月
dayValue 可选参数,一个1-31的整数,代表一个月的天数
getUTCMonth方法以世界时为标准,返回一个指定的日期对象的月份,它是从 0 开始计数的(0 代表一年的第一个月)
语法:dateObj.getUTCMonth()
返回值:返回一个 0 到 11 的整数,分别对应以下月份:0 代表一月,1 代表二月,2 代表三月,依次类推
let day2 = new Date(1528959690000); console.log(day2.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day2.setUTCMonth(4)); //1526281290000 console.log(day2.getUTCMonth()); //4
3.日
setDate() 方法根据本地时间来指定一个日期对象的天数
语法:dateObj.setDate(dayValue)
参数:dayValue 一个整数,表示该月的第几天
getDate() 根据本地时间,返回一个指定的日期对象为一个月中的第几天
语法:dateObj.getDate()
返回值:返回一个1 到 31的整数值
let date3 = new Date(1528959690000); console.log(date3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date3.setDate(21)); //1529564490000 console.log(date3.getDate()); //21
setUTCDate() 方法就是根据全球时间设置特定date对象的日期
语法:dateObj.setUTCDate(dayValue)
参数:dayValue 一个1-31的整形数字,用来指定日期
getUTCDate() 方法以世界时为标准,返回一个指定的日期对象为一个月中的第几天
语法:dateObj.getUTCDate()
返回值:返回一个 1 到 31 的整数值
let day3 = new Date(1528959690000); console.log(day3.toUTCString()); ////Thu, 14 Jun 2018 07:01:30 GMT console.log(day3.setUTCDate(25)); //1529910090000 console.log(day3.getUTCDate()); //25
4.星期几
getDay() 方法根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天
语法:dateObj.getDay()
返回值:返回一个整数值: 0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推
let date = new Date(1528959690000); console.log(date); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date.getDay()); //4
getUTCDay() 方法以世界时为标准,返回一个指定的日期对象为一星期中的第几天,其中 0 代表星期天
语法:dateObj.getUTCDay()
返回值:返回一个对应一星期中第几天的整数:0 代表星期天,1 代表星期一,2 代表星期二,依次类推
5.时
setHours() 方法根据本地时间为一个日期对象设置小时数
语法:dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数:
hoursValue 一个 0 到 23 的整数,表示小时
minutesValue 一个 0 到 59 的整数,表示分钟
secondsValue 一个 0 到 59 的整数,表示秒数,如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数
msValue 一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue 和 secondsValue 参数
getHours() 方法根据本地时间,返回一个指定的日期对象的小时
语法:dateObj.getHours()
返回值:返回一个0 到 23之间的整数值
let date4 = new Date(1528959690000); console.log(date4); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date4.setHours(11)); //1528945290000 console.log(date4.getHours()); //11
setUTCHours() 方法就是根据全球时间设置特定date对象的小时数
语法:dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数:
hoursValue 表示小时的整数,取值0到23之间
minutesValue 可选参数,表示分钟的整数,取值0到59之间
secondsValue 可选参数,表示秒数的整数,取值0到59之间;如果指定了该参数,就要同时指定minutesValue这个参数
msValue 可选参数,表示毫秒的整数,取值0到999之间;如果指定了该参数,就要指定minutesValue和secondsValue这两个参数
getUTCHours() 方法以世界时为标准,返回一个指定的日期对象的小时数
语法:dateObj.getUTCHours()
返回值:返回一个 0 到 23 的整数
let day4 = new Date(1528959690000); console.log(day4.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day4.setUTCHours(15)); //1528988490000 console.log(day4.getUTCHours()); //15
6.分
setMinutes() 方法根据本地时间为一个日期对象设置分钟数
语法:dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
参数:
minutesValue 一个 0 到 59 的整数,表示分钟数。
secondsValue 一个 0 到 59 的整数,表示秒数,如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数。
msValue 一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue和secondsValue 参数
getMinutes() 方法根据本地时间,返回一个指定的日期对象的分钟数
语法:dateObj.getMinutes()
返回值:返回一个0 到 59的整数值
let date5 = new Date(1528959690000); console.log(date5); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date5.setMinutes(30)); //1528961430000 console.log(date5.getMinutes()); //30
setUTCMinutes()方法会根据根据全球时间来设置指定日期的分钟数
语法:dateObj.setUTCMinutes(minutesValue[, secondsValue[, msValue]])
参数:
minutesValue 必填,表示要设置的分钟数,是一个介于0和59之间的整数
secondsValue 可选参数,表示要设置的秒数,同样也是一个介于0和59之间的整数,如果你传入了这个参数,那么你就必须要传入minutesValue
msValue 可选参数,表示要设置的毫秒数,这是一个介于0和999之间的数字,如果你传入了这个参数,那么你就必须要传入minutesValue和secondsValue
getUTCMinutes() 方法以世界时为标准,返回一个指定的日期对象的分钟数
语法:dateObj.getUTCMinutes()
返回值:返回一个 0 到 59 的整数
let day5 = new Date(1528959690000); console.log(day5.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day5.setUTCMinutes(45)); //1528962330000 console.log(day5.getUTCMinutes()); //45
7.秒
setSeconds() 方法根据本地时间设置一个日期对象的秒数
语法:dateObj.setSeconds(secondsValue[, msValue])
参数:
secondsValue 一个 0 到 59 的整数
msValue 一个 0 到 999 的数字,表示微秒数
getSeconds() 方法根据本地时间,返回一个指定的日期对象的秒数
语法:dateObj.getSeconds()
返回值:返回一个 0 到 59 的整数值
let date6 = new Date(1528959690000); console.log(date6); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date6.setSeconds(40)); //1528959700000 console.log(date6.getSeconds()); //40
setUTCSeconds() 方法为一个依据国际通用时间的特定日期设置秒数
语法:dateObj.setUTCSeconds(secondsValue[, msValue])
参数:
secondsValue 一个在0到59之间的整数,表示秒数
msValue 可选参数,一个0到999之间的数字,代表毫秒数
getUTCSeconds() 方法以世界时为标准,返回一个指定的日期对象的秒数
语法:dateObj.getUTCSeconds()
返回值:返回一个 0 到 59 的整数
let day6 = new Date(1528959690000); console.log(day6.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day6.setUTCSeconds(50)); //1528959710000 console.log(day6.getUTCSeconds()); //50
8.毫秒
setMilliseconds() 方法会根据本地时间设置一个日期对象的豪秒数
语法:dateObj.setMilliseconds(millisecondsValue)
参数:millisecondsValue 一个 0 到 999 的数字,表示豪秒数
getMilliseconds() 方法,根据本地时间,返回一个指定的日期对象的毫秒数
语法:dateObj.getMilliseconds()
返回值:方法返回一个0 到 999的整数
let date7 = new Date(1528959690000); console.log(date7); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date7.setMilliseconds(100)); //1528959690100 console.log(date7.getMilliseconds()); //100
setUTCMilliseconds() 方法会根据世界时来设置指定时间的毫秒数
语法:dateObj.setUTCMilliseconds(millisecondsValue)
参数:millisecondsValue 0 - 999 之间的数值,代表毫秒数
getUTCMilliseconds() 方法以世界时为标准,返回一个指定的日期对象的毫秒数
语法:dateObj.getUTCMilliseconds()
返回值:返回一个 0 到 999 的整数
let day7 = new Date(1528959690000); console.log(day7.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day7.setUTCMilliseconds(900)); //1528959690900 console.log(day7.getUTCMilliseconds()); //900
9.time
setTime() 方法以一个表示从1970-1-1 00:00:00 UTC计时的毫秒数为来为 Date 对象设置时间
语法:dateObj.setTime(timeValue)
参数:timeValue 一个整数,表示从1970-1-1 00:00:00 UTC开始计时的毫秒数
getTime() 方法返回一个时间的格林威治时间数值,这个方法的功能和 valueOf() 方法一样
语法:dateObj.getTime()
返回值:返回一个从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数
let date8 = new Date(1528959690000); console.log(date8); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST) console.log(date8.setTime(1528959690100)); //1528959690100 console.log(date8.getTime()); //1528959690100
10.获取时间字符串
toDateString() 方法以美式英语和人类易读的形式返回一个日期对象日期部分的字符串
toTimeString() 方法以人类易读形式返回一个日期对象时间部分的字符串
toUTCString() 方法把一个日期转换为一个字符串,使用UTC时区
toISOString() 方法返回一个 ISO(ISO 8601 Extended Format)格式的字符串:
YYYY-MM-DDTHH:mm:ss.sssZ
toJSON() 方法返回 Date 对象的字符串形式
toLocaleString() 方法返回该日期对象的字符串,该字符串格式因不同语言而不同
toLocaleDateString() 方法返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同
toLocaleTimeString() 方法返回该日期对象时间部分的字符串,该字符串格式因不同语言而不同
valueOf() 方法返回一个 Date 对象的原始值
let day9 = new Date(1528959690000); console.log(day9); //Thu Jun 14 2018 15:01:30 GMT+0800 (中国标准时间) console.log(day9.toString()); //Thu Jun 14 2018 15:01:30 GMT+0800 (中国标准时间) console.log(day9.toDateString()); //Thu Jun 14 2018 console.log(day9.toTimeString()); //15:01:30 GMT+0800 (中国标准时间) console.log(day9.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT console.log(day9.toISOString()); //2018-06-14T07:01:30.000Z console.log(day9.toJSON()); //2018-06-14T07:01:30.000Z console.log(day9.toLocaleString()); //2018/6/14 下午3:01:30 console.log(day9.toLocaleDateString()); //2018/6/14 console.log(day9.toLocaleTimeString()); //下午3:01:30 console.log(day9.valueOf()); //1528959690000
以上是JavaScript中Date物件的詳解(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!