diff --git a/src/formatDate.js b/src/formatDate.js index 769e27661..604ab94bf 100644 --- a/src/formatDate.js +++ b/src/formatDate.js @@ -8,7 +8,56 @@ * @returns {string} */ function formatDate(date, fromFormat, toFormat) { - // write code here + const dateArray = date.split(fromFormat.at(-1)); + const fromDate = {}; + + for (let i = 0; i < dateArray.length; i++) { + const keyDate = fromFormat[i]; + const valueDate = dateArray[i]; + + if (keyDate === 'DD') { + fromDate['DD'] = valueDate; + } + + if (keyDate === 'MM') { + fromDate['MM'] = valueDate; + } + + if (keyDate === 'YYYY') { + fromDate['year'] = valueDate; + } + + if (keyDate === 'YY') { + const shortYear = Number(valueDate); + const century = shortYear < 30 ? '20' : '19'; + + fromDate['year'] = century + valueDate; + } + } + + const arr = []; + + for (let i = 0; i < dateArray.length; i++) { + if (toFormat[i] === 'YYYY') { + arr[i] = fromDate['year']; + } + + if (toFormat[i] === 'YY') { + arr[i] = fromDate['year'].slice(-2); + } + + if (toFormat[i] === 'MM') { + arr[i] = fromDate['MM']; + } + + if (toFormat[i] === 'DD') { + arr[i] = fromDate['DD']; + } + } + + const result = arr.join(toFormat.at(-1)); + + return result; } module.exports = formatDate;