преобразование ДД-МОН-ГГ в ГГГГ-ММ-ДД в JavaScript - PullRequest
0 голосов
/ 19 марта 2019

У меня есть требование, когда мне нужно конвертировать формат даты из

DD-MON-YY to YYYY-MM-DD в javascript.

Я использовал приведенную ниже функцию

function SimpleDate(inputdate) {
    var outputdate = new Date(inputdate);
    console.log(outputdate);
    var Outputyear=outputdate.toDateString().substr(outputdate.toDateString().lastIndexOf(' ')+1,4);
    console.log(Outputyear);
    return Outputyear ;

}

SimpleDate('05-FEB-19')

canкто-нибудь помочь здесь.

Когда я передаю дату, как показано ниже.Я получаю SimpleDate('05/02/19')

Я получаю 1919 в ответ.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Это может быть что-то вроде:

let formattedTime = new Date( //2. Creates new date from string
   `05-FEB-19`.replace(/-/g, ` `) //1. replaces all '-' with space
).toLocaleString(`zu-ZA`); 

/* 3. Returns a string formated to a traditional South African formatting (
South African just because they use exactly the format that you described). */

console.log(formattedTime)// -> "2019-02-05 00:00:00"

Что хорошо в этом подходе, так это то, что .toLocaleString () может форматировать дату в любом формате, который вы предпочитаете.

Если вы не передаете аргумент, он форматирует время в соответствии с форматом, который предпочитает конечный пользователь.

Например:

 new Date().toLocaleString(); //-> "١٩‏/٣‏/٢٠١٩ ٨:٢٧:٥٨ م" if your OS language is Arabic.

 new Date().toLocaleString(); //-> "19/3/2019 00:00:06" if your OS language is Spanish.

 new Date().toLocaleString(); //-> "19.3.2019, 00:00:06" if your OS language is German.
1 голос
/ 19 марта 2019

Вы можете просто выполнить некоторые манипуляции со строками:

 "20" + input.split("/").reverse().join("-")
...