? ? ? ? 在實際項目中總是少不了對日期的處理,之前在學(xué)習(xí)的時候可能是因為不涉及到日期的復(fù)雜操作,所以都是通過加減乘除給處理了,這樣的處理顯然只能用作靜態(tài)顯示。實際項目中對日期存在很多的操作,不能只是靜態(tài)的顯示一個日期。JavaScript中的Date對象可以幫助我們處理對象與時間。Date對象會自動把當(dāng)前日期和時間保存為其初始值。
? ? ????通過一個例子來展示一下,Date在實際項目中對時間處理起來是多么方便。具體要求為:指定一個日期,獲取該日期的前一天。比如指定2021-03-21,我們想得到的是2021-03-20。


? ? FormatDay(date)函數(shù)將Sat?Mar?20?2021?08:00:00?GMT+0800?(中國標(biāo)準(zhǔn)時間)日期格式化 為2021-03-20。其中:
? ? getFullYear():從Date對象返回年份
? ? getMonth():從Date對象返回月份(0~11),所以date.getMonth()+1才是當(dāng)前月份
? ? getDate():從Date對象返回一個月中的某一天
? ? ????拿到年、月、日后,通過模板字符串`${year}-${month}-${day}`將其拼起來就可以得到我們想要的日期了。這里還可以看出,我們可以根據(jù)我們的需要拼成我們想要的格式,不一定是YY-MM-DD的格式。當(dāng)然,大多數(shù)基本都是使用YY-MM-DD格式。
? ? ????這里還用到了padStart(),它的作用是用參數(shù)字符串從頭部(左側(cè))補全字符串:

第一個參數(shù)是生成的字符串的最小長度,第二個參數(shù)是用來補全的字符串,如果沒有指定第二個參數(shù),則默認(rèn)用空格填充。
? ? ? ? Date對象還有很多屬性方法,對于這些屬性方法的功能用法可以去查閱文檔https://www.w3school.com.cn/jsref/jsref_obj_date.asp。但其實,最重要的其實是當(dāng)你遇到對日期進行處理的相關(guān)問題時,要能夠知道并想到Date對象,要能夠明確這里要使用Date對象。然后帶著目的去查閱文檔,選擇需要用到的屬性方法。