当前位置: 首页 > 科技观察

JS小技巧,如何在JavaScript中获取当前日期

时间:2023-03-12 20:45:12 科技观察

在构建应用程序的时候,会有一个日期和时间的组件,无论是资源的创建日期还是事件的时间戳。在本文中,我将分享如何在JavaScript中获取各种格式的当前日期。1.JavaScript的Date对象constdate=newDate();Date对象包含一个Number,表示自新纪元(即1970年1月1日)以来经过的毫秒数。您可以将日期字符串传递给Date构造函数以创建指定日期的对象:constdate=newDate('Jul122011');要获取当前年份,请使用对象的getFullYear()方法。getFullYear()方法返回Date构造函数中指定日期的年份:constcurrentYear=date.getFullYear();console.log(currentYear);//2020同样,也有一些方法可以获取当前月份的日期和当前月份:consttoday=date.getDate();constcurrentMonth=date.getMonth()+1;getDate()方法返回当月的当前日期(1-31)。使用getMonth()方法返回指定日期的月份。需要注意的一点是,此方法返回一个0索引值(0-11),其中0表示一月,11表示十二月。因此,加1会将月份的值归一化。2.Datenownow()是Date对象的静态方法。它返回一个以毫秒为单位的值,表示自纪元以来经过的时间。您可以将now()方法返回的毫秒数传递给Date构造函数以实例化一个新的Date对象:consttimeElapsed=Date.now();consttoday=newDate(timeElapsed);3、可以使用Date对象的方法将日期格式格式化成多种格式(GMT、ISO等)。toDateString()方法以我们可以读取的格式返回日期:today.toDateString();//"SunJun162020"toISOString()返回符合ISO8601扩展格式的日期:today.toISOString();//"2020-06-16T08:30:00.000Z"toUTCString()返回UTC时区格式的日期:today.toUTCString();//"Sat,16Jun202008:30:00GMT"toLocaleDateString()返回格式为UTC的日期本地时区:today.toLocaleDateString();//"6/16/2020"4.自定义日期格式化函数除了上面提到的格式,你的应用程序可能有不同的数据格式。它可以是yy/dd/mm或yyyy-dd-mm格式,或类似的格式。要解决这个问题,最好创建一个可重用的函数,以便它可以在多个项目中使用。接下来,让我们创建一个实用函数,它将以函数参数中指定的格式返回日期:consttoday=newDate();functionformatDate(date,format){//}formatDate(today,'mm/dd/yy');您需要将参数中传递的格式字符串中的字符串“mm”、“dd”、“yy”替换为月、日和年。然后,使用replace(),该方法如下所示:format.replace('mm',date.getMonth()+1);然而,这会导致很多方法被链接在一起,并且会让我们尝试使函数更灵活,更适合我们的项目:.replace('yy',date.getFullYear()).replace('dd',日期.getDate());那么就可以使用正则表达式代替方法来连接方法replace()。首先创建一个对象,表示子字符串的键值对及其各自的值:constformatMap={mm:date.getMonth()+1,dd:date.getDate(),yy:date.getFullYear().toString().slice(-2),yyyy:date.getFullYear()};接下来,使用正则表达式来匹配和替换字符串:formattedDate=format.replace(/mm|dd|yy|yyy/gi,matched=>map[matched]);完整的函数和代码如下:functionformatDate(date,format){constmap={mm:date.getMonth()+1,dd:date.getDate(),yy:date。getFullYear().toString().slice(-2),yyyy:date.getFullYear()}returnformat.replace(/mm|dd|yy|yyy/gi,matched=>map[matched])}你也可以使用在函数中添加格式化时间戳的功能。5.最后,您现在对DateJavaScript对象有了更好的理解。您还可以使用其他第三方库(例如datesj和moment)来处理应用程序中的日期。