javascript是一門(mén)前端開(kāi)發(fā)語(yǔ)言,在實(shí)際的開(kāi)發(fā)中起到了至關(guān)重要的作用。其中,格式化日期是經(jīng)常用到的一個(gè)操作。在開(kāi)發(fā)過(guò)程中,我們需要將yyyyMMdd格式的日期字符串轉(zhuǎn)化為yyyy-MM-dd格式等,這時(shí)候Javascript format d就派上用場(chǎng)了。
Javascript format d是一種常用的日期格式化函數(shù),它將日期格式化為指定的模式字符串。例如,要將日期格式化為“年-月-日”的格式,可以使用如下代碼:
function formatDate(date) { var year = date.getFullYear(), month = date.getMonth() + 1, //注意月份需要+1 day = date.getDate(); return year + '-' + month + '-' + day; }
上述代碼中,getMonth返回的是0~11之間的數(shù)值,因此需要+1才可得到正確月份。使用該函數(shù)對(duì)Date類型的對(duì)象進(jìn)行格式化操作,如下所示:
var date = new Date(); console.log('當(dāng)前時(shí)間為:' + formatDate(date));
輸出結(jié)果為“年-月-日”的格式,如2021-05-08。
除了將日期格式化為指定的日期字符串外,Javascript format d還支持將指定日期字符串轉(zhuǎn)化為Date類型的對(duì)象。例如,要將yyyy-MM-dd格式的日期字符串轉(zhuǎn)化為Date類型的對(duì)象,可以使用如下代碼:
function parseDate(dateStr) { var dateArr = dateStr.split('-'), year = dateArr[0], month = dateArr[1] - 1, //注意月份需要-1 day = dateArr[2]; return new Date(year, month, day); }
上述代碼中,split函數(shù)用于將日期字符串按照“-”切分成數(shù)組,然后使用new Date()構(gòu)造函數(shù)創(chuàng)建Date類型的對(duì)象。使用該函數(shù)對(duì)yyyy-MM-dd格式的日期字符串進(jìn)行轉(zhuǎn)化操作,如下所示:
var dateStr = '2021-05-08'; console.log('日期格式為:' + parseDate(dateStr));
輸出結(jié)果為Date類型的對(duì)象,內(nèi)容為Sat May 08 2021 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)。
Javascript format d的使用還遠(yuǎn)不止于此。除了格式化日期字符串和轉(zhuǎn)化日期字符串為Date類型的對(duì)象外,它還支持自定義日期格式,可以精確控制日期字符串的顯示方式。例如,要將月份顯示為單個(gè)數(shù)字而不是兩個(gè),可以使用如下代碼:
function formatDate(date) { var year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(); if(month< 10) { month = '0' + month; } return year + '-' + month + '-' + day; }
上述代碼中,當(dāng)月份小于10時(shí),在前面添加0。這樣就可以實(shí)現(xiàn)將月份顯示為單個(gè)數(shù)字而不是兩個(gè)的效果。使用該函數(shù)對(duì)Date類型的對(duì)象進(jìn)行格式化操作,如下所示:
var date = new Date(); console.log('當(dāng)前時(shí)間為:' + formatDate(date));
輸出結(jié)果如2021-5-8。
總的來(lái)說(shuō),Javascript format d是一個(gè)十分有用的工具,在開(kāi)發(fā)過(guò)程中可以幫助我們快速地實(shí)現(xiàn)日期字符串的格式化和轉(zhuǎn)化操作。需要注意的是,在使用該函數(shù)時(shí),需要了解各種日期格式及其對(duì)應(yīng)的code。