這篇文章帶給大家的內容是關於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]])參數:
- yearValue 指定年份的整數值,例如1995。
- monthValue 一個0到11之間的整數值,表示一月到十二月。
- dayValue 一個1到31之間的整數值,表示月份的第幾天。如果你指定了dayValue 參數,就必須同時指定monthValue
#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]])參數:
- yearValue 指定年份整數值,例如,1995
- monthValue 可選,指定一個0-11之間的整數值,代表一月到十二月
- dayValue 可選,指定一個1-31之間的整數值,代表月份中的第幾天,如果你指定了dayValue參數,那麼你必須指定monthValue參數
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.sssZtoJSON() 方法返回 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中文網其他相關文章!

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

禪工作室 13.0.1
強大的PHP整合開發環境

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器