3 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個贊
既然你標(biāo)記了你的問題momentjs,這里有一個使用 moment JS 庫的解決方案。首先你拆分你的字符串,然后你格式化每個日期,最后你加入字符串。
注意:這會給你一個警告,因?yàn)槌跏既掌诟袷讲皇菢?biāo)準(zhǔn)化的。
const dates = 'Wed Nov 13 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC)'
const parseDates = dates => (
dates
.split(',')
.filter(date => moment(date).isValid())
.map(date => moment(date).format('MM/DD/YYYY'))
.join(',')
)
console.log(parseDates(dates));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
否則,如果您確定您的日期將始終具有相同的格式,您可以使用正則表達(dá)式手動解析它們:
const months = [ '', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
const dateRegex = /[\w]{3}\s{1}([\w]{3})\s{1}(\d{2})\s{1}(\d{0,4})\s/i
const dates = 'Wed Nov 13 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC)'
const parseDatesFallback = dates => (
dates
.split(',')
.map(date => {
date = date.match(dateRegex)
return String(months.indexOf(date[1])).padStart(2, '0')
+ '/'
+ date[2]
+ '/'
+ date[3]
})
.join(',')
)
console.log(parseDatesFallback(dates));

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個贊
您可以簡單地將日期列表映射到所需的日期格式。使用splitandjoin方法將字符串轉(zhuǎn)換為數(shù)組并返回。例子:
const dates = 'Wed Nov 13 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC)';
const newDates = dates.split(',')
.map(dateString => {
const date = new Date(dateString);
return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
})
.join(',');
console.log(newDates);

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個贊
const str = 'Wed Nov 13 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC),Tue Nov 19 2019 00:00:00 GMT+0000 (UTC)'
const arr = str.split(',').map(a=>moment(a).format('MM/DD/YYYY'));
console.log(arr)
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.min.js" type="text/javascript"></script>
添加回答
舉報