-->

Reformat string containing date with Javascript

2020-01-26 12:33发布

问题:

I have the following string which I ultimately need to have in the format of mm/yy

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

This gets me to 2016/03, but how can i get to 03/16?

回答1:

one solution without regex:

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);



回答2:

With a RegExp :

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



回答3:

Do you really need to use RegExp?

Why not creating a simple function that splits the exp Date and returns it the way you want it?

function parseDate(expDate){

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

The split functions creates an array, the element in position 1 is the month, the element in position 2 is the year, on the latter you apply the substring function which extrapolates the last two digits.