{"ScriptPreparationCode":"var dates = [];\r\nvar dt = \u00272019-04-22\u0027;\r\n\r\nfor(let i=0; i\u003C100; i\u002B\u002B){\r\n \tlet dm = moment(dt);\r\n \r\n\tdates.push(dm.add(1,\u0027day\u0027).format(\u0027YYYY-MM-DD\u0027));\r\n}\r\n\r\nlet format = \u0022YYYY-MM-DD HH:mm:ss\u0022;\r\nconst formatMap = {\r\n YYYY: 0,\r\n MM: 1,\r\n DD: 2,\r\n HH: 3,\r\n mm: 4,\r\n ss: 5\r\n};\r\nlet formatTokens = [];\r\n\r\nconst getFormatTokens = (f, excludeChar = true) =\u003E {\r\n let str = \u0022\u0022;\r\n const arr = f.split(\u0022\u0022);\r\n const result = [];\r\n\r\n arr.forEach(a =\u003E {\r\n if (a.match(/[A-Za-z]/)) {\r\n str \u002B= a;\r\n } else {\r\n result.push(str);\r\n\r\n if (!excludeChar) {\r\n result.push(a);\r\n }\r\n\r\n str = \u0022\u0022;\r\n }\r\n });\r\n\r\n result.push(str);\r\n\r\n return result;\r\n};\r\n\r\nconst configureFormat = f =\u003E {\r\n format = f;\r\n\r\n formatTokens = getFormatTokens(f);\r\n};\r\n\r\nconfigureFormat(\u0022YYYY-MM-DD HH:mm:ss\u0022);\r\n\r\nconst getDateTokens = d =\u003E {\r\n let str = \u0022\u0022;\r\n const arr = d.split(\u0022\u0022);\r\n const result = new Array(formatTokens.length).fill(null);\r\n let counter = 0;\r\n\r\n arr.forEach(a =\u003E {\r\n if (!isNaN(parseInt(a))) {\r\n str \u002B= a;\r\n } else {\r\n if (str) {\r\n result[formatMap[formatTokens[counter]]] = str;\r\n str = \u0022\u0022;\r\n counter\u002B\u002B;\r\n } else {\r\n return;\r\n }\r\n }\r\n });\r\n\r\n if (str) {\r\n result[formatMap[formatTokens[counter]]] = str;\r\n }\r\n\r\n result[1] = result[1] - 1;\r\n\r\n return result;\r\n};\r\n\r\nconst getDate = d =\u003E {\r\n return new Date(...getDateTokens(d));\r\n};\r\n\r\nconst padStr = val =\u003E {\r\n return val \u003C 10 ? \u00220\u0022 \u002B val : val;\r\n};\r\n\r\n\r\n\r\nfunction getNativeDate(str) {\r\n const d = getDate(str);\r\n return \u0060${d.getFullYear()}-${padStr(d.getMonth() \u002B 1)}-${d.getDate()} ${padStr(d.getHours())}:${padStr(d.getMinutes())}:${padStr(d.getSeconds())}\u0060;\r\n}\r\n\r\nfunction getMomentDate(str) {\r\n\treturn moment(str).format(\u0027YYYY-MM-DD HH:mm:ss\u0027);\r\n}","TestCases":[{"Name":"moment","Code":"dates.map(val =\u003E getMomentDate(val));","IsDeferred":false},{"Name":"Date","Code":"dates.map(val =\u003E getNativeDate(val));","IsDeferred":false}]}