Преформатирайте низ, съдържащ дата с Javascript

Имам следния низ, който в крайна сметка трябва да имам във формат mm/yy

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

Това ме отвежда до 2016/03, но как мога да стигна до 03/16?


person JordanBarber    schedule 03.03.2016    source източник


Отговори (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);

person Meiko Rachimow    schedule 03.03.2016
comment
Благодаря, това е много близо, но не изпуска първите две цифри на годината? - person JordanBarber; 04.03.2016
comment
Ти си човекът! Благодаря много. Ще отбележа като решен само след минута - person JordanBarber; 04.03.2016

С RegExp:

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

person Steeve Pitis    schedule 03.03.2016
comment
това получи гласуване от мен, обичам regex, но съм твърде бавен за такъв вид решение;) - person Meiko Rachimow; 04.03.2016

Наистина ли трябва да използвате RegExp?

Защо не създадете проста функция, която разделя exp Date и я връща както искате?

function parseDate(expDate){

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

Функциите за разделяне създават масив, елементът в позиция 1 е месецът, елементът в позиция 2 е годината, върху последната прилагате функцията за подниз, която екстраполира последните две цифри.

person fredmaggiowski    schedule 03.03.2016