JS中Date的一些常用方法小結(jié)
內(nèi)置對(duì)象Date
Date對(duì)象在實(shí)際開發(fā)中,也使用得非常頻繁,它是一個(gè)內(nèi)置對(duì)象,用于表示日期和時(shí)間。
Date是用來處理日期和時(shí)間的對(duì)象,但是與Math對(duì)象不同的是:Date是一個(gè)構(gòu)造函數(shù),需要實(shí)例化之后才能使用。
接下來第一步:創(chuàng)建Date對(duì)象
創(chuàng)建Date對(duì)象
創(chuàng)建Date對(duì)象有兩種方法:
創(chuàng)建時(shí)不傳參數(shù):
在不傳遞參數(shù)的情況下,最后創(chuàng)建的結(jié)果是返回系統(tǒng)當(dāng)前的時(shí)間對(duì)象var date = new Date(); console.log(date); // Wed Sep 28 2022 18:06:49 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) console.log(typeof date); // object
創(chuàng)建時(shí)傳遞參數(shù):
傳遞參數(shù)時(shí)表示創(chuàng)建指定時(shí)間的對(duì)象,參數(shù)可以是字符串,也可以是數(shù)字,還可以是時(shí)間戳。我們按照傳遞參數(shù)的類型來分別講解。
參數(shù)為字符串
var date = new Date("2022-09-28 18:06:49"); var date = new Date("2022/09/28 18:06:49"); var date = new Date("2022-09-28T18:06:49"); var date = new Date("2022/09/28T18:06:49"); var date = new Date("2022-09-28"); var date = new Date("2022/09/28"); var date = new Date("2022-09-28T00:00:00"); var date = new Date("2022/09/28T00:00:00");
通過上面的代碼,我們可以看到在將時(shí)間字符串作為參數(shù)傳入的時(shí)候,我們要遵循的格式就是:年月日 具體時(shí)間,其中年月日之間使用-
或者/
連接,具體時(shí)間使用:
連接;年月日和具體時(shí)間的連接可以使用空格
隔開或者T
隔開。
參數(shù)為多個(gè)數(shù)字
var date = new Date(x,y,z,a,b,c,d);
- x:表示年份,必須傳遞,否則會(huì)報(bào)錯(cuò)
- y: 表示月份,從0開始,0表示1月,1表示2月,以此類推,如果不傳遞,默認(rèn)為0
- z: 表示日期,如果不傳遞,默認(rèn)為1
- a: 表示小時(shí),如果不傳遞,默認(rèn)為0
- b: 表示分鐘,如果不傳遞,默認(rèn)為0
- c: 表示秒,如果不傳遞,默認(rèn)為0
- d: 表示毫秒,如果不傳遞,默認(rèn)為0
多個(gè)參數(shù)之間我們使用逗號(hào)間隔,如果不傳遞的參數(shù),會(huì)使用默認(rèn)值(年份除外,年份必須傳參)。
參數(shù)為時(shí)間戳
var date = new Date(時(shí)間戳);
日期的格式化
在實(shí)際開發(fā)中,我們經(jīng)常需要將日期格式化,比如:將日期格式化為:2022-09-28 18:06:49,這個(gè)時(shí)候我們就需要使用到Date對(duì)象的format方法。
或者我們需要獲取日期的指定部分,這個(gè)時(shí)候就需要用到Date對(duì)象自帶的方法了。
Date對(duì)象自帶的方法
方法名 | 含義 | 備注 |
---|---|---|
getFullYear() | 獲取年份 | |
getMonth() | 獲取月:0-11 | 0代表一月 |
getDate() | 獲取日:1-31 | |
getDay() | 獲取星期:0-6 | 0代表周日;1代表周一 |
getHours() | 獲取小時(shí):0-23 | |
getMinutes() | 獲取分鐘:0-59 | |
getSeconds() | 獲取秒:0-59 | |
getMilliseconds() | 獲取毫秒 | 1s = 1000ms |
獲取時(shí)間戳
什么是時(shí)間戳呢?
時(shí)間戳就是從格林威治標(biāo)準(zhǔn)時(shí)間的1970年1月1日,0時(shí)0分0秒到當(dāng)前日期所花費(fèi)的毫秒數(shù)(1秒 = 1000毫秒)。
那為什么需要時(shí)間戳呢?
這是因?yàn)樵谟?jì)算機(jī)中,時(shí)間是以數(shù)字的形式存儲(chǔ)的,而不是以字符串的形式存儲(chǔ)的,所以我們需要將時(shí)間轉(zhuǎn)換為數(shù)字,這個(gè)數(shù)字就是時(shí)間戳。
而時(shí)間戳的存在就是為了統(tǒng)一時(shí)間的單位。
如何獲取時(shí)間戳呢?
下面集中常見的方法:
+new Date():獲取當(dāng)前時(shí)間的時(shí)間戳
value = +new Date();
Date對(duì)象的getTime方法
var date = new Date();
Date對(duì)象的valueOf方法
var date = new Date();
這三種方法都可以獲取當(dāng)前時(shí)間的時(shí)間戳。使用頻率從上往下一次遞減。
附:獲得Date總的毫秒數(shù)(距離1970年1月1號(hào)過了多少毫秒)
valueOf();
var date = new Date(); console.log(date.valueOf());//1628750819687
getTime();
var date = new Date(); console.log(date.getTime());//1628750819687
簡(jiǎn)單寫法
var date1 = +new Date(); console.log(date1);//1628750819687
H5新增的方法
console.log(Date.now());//1628750819687
總結(jié)
到此這篇關(guān)于JS中Date的一些常用方法的文章就介紹到這了,更多相關(guān)JS Date常用方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)刷新腳本的方法
要自動(dòng)刷新網(wǎng)頁(yè),你可以使用JavaScript腳本來實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)刷新腳本的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11使用javascript創(chuàng)建快捷方式的簡(jiǎn)單實(shí)例
這篇文章介紹了使用javascript創(chuàng)建快捷方式的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-08-08js改變style樣式和css樣式的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猨s改變style樣式和css樣式的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06js求數(shù)組最大值的八種具體實(shí)現(xiàn)方法
數(shù)組如何求最大值,想必很多的朋友都不會(huì)吧,下面這篇文章主要給大家介紹了關(guān)于使用js求數(shù)組最大值的八種方法具體實(shí)現(xiàn)的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-09-09使用JavaScript實(shí)現(xiàn)一個(gè)炫酷的羅盤時(shí)鐘
在探究前端動(dòng)畫時(shí),想到之前在鎖屏壁紙看到的羅盤時(shí)鐘,看著很是炫酷,于是說干就干,下面就跟隨小編一起來學(xué)習(xí)一下如何使用JS實(shí)現(xiàn)一個(gè)炫酷的羅盤時(shí)鐘效果吧2024-02-02JavaScript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03