真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript日期對象Date怎么創(chuàng)建和使用

這篇文章主要介紹了JavaScript日期對象Date怎么創(chuàng)建和使用的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇JavaScript日期對象Date怎么創(chuàng)建和使用文章都會有所收獲,下面我們一起來看看吧。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、蔡家坡ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的蔡家坡網(wǎng)站制作公司

日期和時間是編程過程中不可繞過的必修課,好在JavaScript為我們準(zhǔn)備好了一個內(nèi)建的對象Date(日期)。通過該對象,我們可以創(chuàng)建、存儲、修改、測量時間、打印等基礎(chǔ)操作,是每個JavaScript程序員的必修課之一。

Date對象的創(chuàng)建

和普通的對象一樣,我們可以使用new Date()來創(chuàng)建一個Date對象,還可以在創(chuàng)建的時候傳入一些初始化參數(shù)。

new Date()

不帶參數(shù)的創(chuàng)建案例:

let now = new Date()console.log(now)

代碼執(zhí)行結(jié)果如下:

JavaScript日期對象Date怎么創(chuàng)建和使用

這樣就簡單的輸出了代碼執(zhí)行時的具體時間,這里顯示的就是2022年6月22日 19點25份24秒。

new Date(milliseconds)

創(chuàng)建一個帶有毫秒?yún)?shù)的日期對象,其中milliseconds指的是自1970年1月1日UTC+0之后的毫秒數(shù)(1毫秒=1/1000秒)。

//創(chuàng)建一個時間,舉例1970.1.1時間點0毫秒
let jan01_1970 = new Date(0)
console.log(jan01_1970)

//創(chuàng)建一個時間,比1970年1.1時間點晚3天(3天*24小時*3600秒*1000毫秒)
let jan04_1970 = new Date(3 * 24 * 3600 * 1000)
console.log(jan04_1970)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

milliseconds就是從1970年1月1日 00:00:00以來,經(jīng)過的毫秒數(shù),或者稱之為時間戳。

時間戳是一種簡單的日期數(shù)字化表示方式,我們通常使用new Date(milliseconds)創(chuàng)建一個日期。如果我們已經(jīng)有了一個日期Date對象,可以使用date.getTime()獲得日期對應(yīng)的時間戳。

注意:

中國處于動8區(qū),所以上例中的時間都不是00:00:00,而是08:00:00

1970年之前的時間?

時間戳不僅僅是整數(shù),也可以是負(fù)數(shù),例如:

//1969-12-31 00:00:00let dec31_1969 = new Date(-24 * 3600 * 1000)console.log(dec31_1969)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

new Date(date_str)

如果每次創(chuàng)建時間都是用時間戳,可能并不方便,因為時間戳計算還是有點難度的。

我們還可以使用時間字符串創(chuàng)建一個時間,舉個例子:

let date = new Date('2022-06-22 00:00:00')console.log(date)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

new Date(year, month, date, hours, minutes, sec, ms)

  • year——必須是四位的數(shù)字;

  • month——[0,11],0表示一月;

  • date——當(dāng)月的某一天,默認(rèn)為1;

  • hours/minutes/sec/ms——默認(rèn)為0;

舉個栗子:

let date = new Date(2022,6,22,20,35,33)console.log(date)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

我們還可以指定毫秒數(shù):

let date = new Date(2022,6,22,20,35,33,777)console.log(date)

Date對象的方法

如果我們有一個Date對象,我們可以通過Date對象的內(nèi)置方法,獲取時間的一部分,例如年份、月份、日期等。

獲取日期內(nèi)容

例如我們有日期date

let date = new Date(2022,5,22,20,35,33)
  1. getFullYear()獲取年份,date.getFullYear()返回2022;

  2. getMonth()獲取月份,date.getMonth()返回5,也就是6月;

  3. getDate()獲取當(dāng)月的日期,date.getDate()返回22;

  4. getDay()獲取當(dāng)前時間在一周的哪一天,date.getDay()返回3;

注意:

  • 以上日期都是已于當(dāng)?shù)厝掌诘模热缥疫@里是中國的時區(qū)

  • 獲取年份一定要用getFullYear,getYear會返回兩位數(shù)的年份

我們也可以獲得0時區(qū)的時間,也就是UTC時間,分別對應(yīng)getUTCFullYear()、getUTCMonth(),getUTCDay等。只需要在get后插入UTC即可。

舉個例子:

let date = new Date(2022,5,22,20,35,33)console.log(date.getHours(),date.getUTCHours())

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

夜里也可以看出,中國時區(qū)和0時區(qū)相差8小時。

  1. getTime()返回日期的時間戳,方法沒有UTC模式;

  2. getTimezoneOffset()返回本地時區(qū)和0時區(qū)相差的時間,以分鐘為單位,并且沒有UTC模式;

設(shè)置日期內(nèi)容

我們還可以通過Date對象的方法設(shè)置日期中的某一部分:

  • setFullYear(year, [month], [date])設(shè)置年份(月份、日)

  • setMonth(month, [date])設(shè)置月份(日)

  • setDate(date)設(shè)置日期(月份的第幾天)

  • setHours(hour, [min], [sec], [ms])設(shè)置小時(分、秒、毫秒)

  • setMinutes(min, [sec], [ms])設(shè)置分鐘(秒、毫秒)

  • setSeconds(sec, [ms])設(shè)置秒(毫秒)

  • setMilliseconds(ms)設(shè)置毫秒

  • setTime(milliseconds)(使用自 1970-01-01 00:00:00 UTC+0 以來的毫秒數(shù)來設(shè)置整個日期)

以上函數(shù)中只有setTime()沒有UTC變體。

日期的自動校準(zhǔn)

JavaScriptDate具備自動校準(zhǔn)功能,這為我們針對時間的計算提供了極大的方便。

例如:

let date = new Date(2022,5,38)//注意這里的38console.log(date)

代碼的執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

從執(zhí)行結(jié)果我們可以看出"2022年6月38號"并沒有使程序出現(xiàn)錯誤,而是將日期轉(zhuǎn)成了”2022年7月8號“。

以上案例驗證了,在JavaScript中,超出范圍的日期會被Date對象自動分配。這樣我們就可以非常方便的使用Date對象進(jìn)行日期的計算。

例如,我們可以在日期上對年、月、日進(jìn)行加減法運(yùn)算:

let date = new Date(2022,5,23)//當(dāng)前時間是2022-6-23date.setDate(date.getDate() + 8)//計算八天后的時間console.log(date)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

同樣的,我們也可以使用date.setSeconds()方法已秒為單位計算日期。

日期轉(zhuǎn)為數(shù)字、日期差值

日期Date轉(zhuǎn)為數(shù)字的結(jié)果和使用date.getTime()的返回值相同,都是毫秒為單位的數(shù)值:

let date = new Date()console.log(+date)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

既然時間的本質(zhì)就是數(shù)字,我們也可以進(jìn)行時間差計算,并且以ms(毫秒)為單位。

例如:

let date1 = new Date(2022,5,23)let date2 = new Date(2022,5,24)console.log(`時間差為${date2-date1}ms`)

代碼執(zhí)行結(jié)果為:

JavaScript日期對象Date怎么創(chuàng)建和使用

Date.now()

如果我們希望獲得當(dāng)前時間,更優(yōu)的做法是使用Date.now()方法。這個方法會返回當(dāng)前時間的時間戳,同時不需要創(chuàng)建額外的Date對象,這對內(nèi)存開銷、垃圾回收都是有好處的,而且代碼更簡潔。

舉個栗子:

let begin = Date.now()for(let i = 1;i<100000;i++){
    let num = i * i * i;}let end = Date.now()console.log(`consume time ${end - begin}ms`)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

Date.parse()

Date.parse()方法可以讀取一個日期字符串,并轉(zhuǎn)為時間戳,但是字符串必須遵守一定的規(guī)則:YYYY-MM-DDTHH:mm:ss.sssZ。

  • YYYY-MM-DD對應(yīng)年-月-日

  • T屬于分隔符

  • HH:mm:ss.sss對應(yīng)時:分:秒.毫秒

  • Z可以是+-hh:mm格式的時區(qū)。單個字符Z表示UTC+0

字符串可以使用省略寫法,例如:YYYY-MM-DD、YYYY-MM、YYYY

舉個小李子:

let ms = Date.parse('2022-06-23T19:38:30.777+08:00')//時間戳let date = new Date(ms)console.log(date)

代碼執(zhí)行結(jié)果:

JavaScript日期對象Date怎么創(chuàng)建和使用

關(guān)于“JavaScript日期對象Date怎么創(chuàng)建和使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“JavaScript日期對象Date怎么創(chuàng)建和使用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


名稱欄目:JavaScript日期對象Date怎么創(chuàng)建和使用
網(wǎng)站鏈接:http://weahome.cn/article/ghppjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部