I would like to extract date and time from each of these string. After extraction I want to convert them to iso format.
{
date01: "2018-06-01T18:17:12.745+07:00",
date02: "2018-06-01T18:17:12.745Z",
date03: "2018-06-01T18:17:12",
date04: "2018-06-01T18:17:12.745",
date05: "2018-06-01+07:00",
date06: "2018-06-01",
date07: "www; 12-03-2018 года 11:00 часов",
date08: "2018-05-17 года в 15:00 (по местному времени).",
date09: "www; 12.03.2018 года 11:00 часов",
date10: "2018.05.17 года в 15:00 (по местному времени).",
date11: "www; 12-03-2018 года",
date12: "2018-05-17 года",
date13: "www.ru; 12.03.2018 года",
date14: "2018.05.17 года",
date15: "1 января 2017 года",
date16: "11 августа 2018 года",
date17: "02 дек. 2018 года",
date18: '"02" ноя. 2018 года',
date19: "«02» сен. 2018 года",
date20: "27/03/2018 г. в 10:00 (по московскому времени)"
}
I have tried using regex but it didn't work for some dates. I was able to convert from date01 to date04 without extraction. but date05 didn't work and it also has the time zone. date07,08,09,10 - I also extracted date and time, but time work during conversion to string.
ConvertFromStringToIsoFormat = (data) => {
if(isNaN(data))
{
const date = new Date(data).toISOString()
console.log(date)
}else{
// const matchDate = /(\d{1,4}([.\-/])\d{1,2}([.\-/])\d{1,4})/
// const date = matchDate.exec(data)
// const matchTime = /(([0-1]?[0-9]|2[0-3]):([0-5][0-9]))/g
// const time = matchTime.exec(data)
// console.log(date[1], time[1])
// const isoTime = new Date(date[1], time[1]).toISOString()
// console.log(isoTime);
}
}
ConvertFromStringToIsoFormat('2018-06-01T18:17:12.745+07:00')
// ConvertFromStringToIsoFormat('2018-06-01T18:17:12.745Z')
// ConvertFromStringToIsoFormat('2018-06-01T18:17:12')
ConvertFromStringToIsoFormat('2018-06-01T18:17:12.745')
// ConvertFromStringToIsoFormat('2018-06-01 +07:00')
ConvertFromStringToIsoFormat('2018-06-01')
ConvertFromStringToIsoFormat('27/03/2018 г. в 10:00 (по московскому времени)')
// ConvertFromStringToIsoFormat('ygyg gyg 2018-05-17 года в 15:00 (по местному времени).')
// ConvertFromStringToIsoFormat('11 августа 2018')
Is there a good practice solving this task? Please any help will be appreciated thanks in advance.