使用 Javascript 重新格式化包含日期的字符串

IT技术 javascript html string replace str-replace
2021-03-15 21:49:25

我有以下字符串,我最终需要采用 mm/yy 格式

    var expDate = 2016-03;
    var formatExp = expDate.replace(/-/g , "/");

这让我到了 2016/03,但我怎样才能到 03/16?

3个回答

一种没有正则表达式的解决方案:

var expDate = '2016-03';
var formatExp = expDate.split('-').reverse().join('/');
//result is 03/2016
alert('result: ' + formatExp);

var formatExpShort = expDate.substring(2).split('-').reverse().join('/');
//result is 03/16
alert('result short: ' + formatExpShort);

谢谢,这非常接近,但它不会降低年份的前两位数字?
2021-04-26 21:49:25
你这个人!万分感谢。我会在一分钟内标记为已解决
2021-05-11 21:49:25

使用正则表达式:

'2016-03'.replace(/^\d{2}(\d{2})-(\d{2})$/, '$1/$2')

这得到了我的投票,我喜欢正则表达式,但对于这种解决方案我太慢了;)
2021-05-04 21:49:25

你真的需要使用 RegExp 吗?

为什么不创建一个简单的函数来拆分 exp Date 并按照您想要的方式返回它?

function parseDate(expDate){

     var dateArray = expDate.split('-')
     return dateArray[1] + '/' + dateArray[0].substring(2,4)
}

split 函数创建一个数组,位置元素1是月份,位置元素2是年份,在后者上应用推断最后两位数字的子字符串函数。