From 629a24d8b0d7eeceb4bbe85e200dcedf1687132d Mon Sep 17 00:00:00 2001 From: Skoulskiy Date: Thu, 18 Jun 2026 15:16:55 +0300 Subject: [PATCH] added solution --- src/formatDate.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/formatDate.js b/src/formatDate.js index 769e27661..78b77903d 100644 --- a/src/formatDate.js +++ b/src/formatDate.js @@ -8,6 +8,33 @@ * @returns {string} */ function formatDate(date, fromFormat, toFormat) { + const separatorFrom = fromFormat[3]; + const separatorTo = toFormat[3]; + + const dateParts = date.split(separatorFrom); + const dateMap = {}; + + for (let i = 0; i < fromFormat.length - 1; i++) { + dateMap[fromFormat[i]] = dateParts[i]; + } + + if (toFormat.includes('YYYY') && fromFormat.includes('YY')) { + const yearStr = dateMap['YY']; + + dateMap['YYYY'] = dateMap['YY'] < 30 ? '20' + yearStr : '19' + yearStr; + } + + if (toFormat.includes('YY') && fromFormat.includes('YYYY')) { + dateMap['YY'] = dateMap['YYYY'].slice(-2); + } + + const newDate = [ + dateMap[toFormat[0]], + dateMap[toFormat[1]], + dateMap[toFormat[2]], + ].join(separatorTo); + + return newDate; // write code here }