Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function normalizeDate(dateString) {
- // Пробуем сопоставить разные форматы
- const formats = [
- /^(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2}):(\d{2})$/, // dd.MM.yyyy HH:mm:ss
- /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/, // yyyy-MM-dd HH:mm:ss
- /^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/ // dd/MM/yyyy HH:mm:ss
- ];
- let year, month, day, hours, minutes, seconds;
- for (let format of formats) {
- const match = dateString.match(format);
- if (match) {
- if (format === formats[0] || format === formats[2]) { // dd.MM.yyyy HH:mm:ss или dd/MM/yyyy HH:mm:ss
- day = match[1];
- month = match[2];
- year = match[3];
- } else if (format === formats[1]) { // yyyy-MM-dd HH:mm:ss
- year = match[1];
- month = match[2];
- day = match[3];
- }
- hours = match[4];
- minutes = match[5];
- seconds = match[6];
- // Приводим все элементы даты к нужному формату с ведущими нулями
- year = year.padStart(4, '0');
- month = month.padStart(2, '0');
- day = day.padStart(2, '0');
- hours = hours.padStart(2, '0');
- minutes = minutes.padStart(2, '0');
- seconds = seconds.padStart(2, '0');
- // Формируем и возвращаем дату в нужном формате
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- }
- }
- throw new Error('Invalid date format');
- }
- // Пример использования
- ss.info(normalizeDate('21.09.2024 15:30:25')); // '2024-09-21 15:30:25'
- ss.info(normalizeDate('2024-09-21 15:30:25')); // '2024-09-21 15:30:25'
- ss.info(normalizeDate('21/09/2024 15:30:25')); // '2024-09-21 15:30:25'
Advertisement
Add Comment
Please, Sign In to add comment