在实际项目中总是少不了对日期的处理,之前在学习的时候可能是因为不涉及到日期的复杂操作,所以都是通过加减乘除给处理了,这样的处理显然只能用作静态显示。实际项目中对日期存在很多的操作,不能只是静态的显示一个日期。JavaScript中的Date对象可以帮助我们处理对象与时间。Date对象会自动把当前日期和时间保存为其初始值。
通过一个例子来展示一下,Date在实际项目中对时间处理起来是多么方便。具体要求为:指定一个日期,获取该日期的前一天。比如指定2021-03-21,我们想得到的是2021-03-20。
FormatDay(date)函数将Sat Mar 20 2021 08:00:00 GMT+0800 (中国标准时间)日期格式化 为2021-03-20。其中:
getFullYear():从Date对象返回年份
getMonth():从Date对象返回月份(0~11),所以date.getMonth()+1才是当前月份
getDate():从Date对象返回一个月中的某一天
拿到年、月、日后,通过模板字符串`${year}-${month}-${day}`将其拼起来就可以得到我们想要的日期了。这里还可以看出,我们可以根据我们的需要拼成我们想要的格式,不一定是YY-MM-DD的格式。当然,大多数基本都是使用YY-MM-DD格式。
这里还用到了padStart(),它的作用是用参数字符串从头部(左侧)补全字符串:
第一个参数是生成的字符串的最小长度,第二个参数是用来补全的字符串,如果没有指定第二个参数,则默认用空格填充。
Date对象还有很多属性方法,对于这些属性方法的功能用法可以去查阅文档https://www.w3school.com.cn/jsref/jsref_obj_date.asp。但其实,最重要的其实是当你遇到对日期进行处理的相关问题时,要能够知道并想到Date对象,要能够明确这里要使用Date对象。然后带着目的去查阅文档,选择需要用到的属性方法。