JSFiddle - React, Tailwind, and code Playground
by Luke Schlangen
JavaScript
var test1Result = dateConvertsCorrectly("Fri Jul 07 2017 22:10:08 GMT-0500 (CDT)", "2017-07-07");
var test2Result = dateConvertsCorrectly("Fri Jul 07 2017 02:10:08 GMT-0500 (CDT)", "2017-07-07");
var test3Result = dateConvertsCorrectly("2017-07-07", "2017-07-07");
var test4Result = dateConvertsCorrectly("Fri Jul 06 2017 22:10:08 GMT-0500 (CDT)", "2017-07-06");
var test5Result = dateConvertsCorrectly("2017-07-06T02:59:12.037Z", "2017-07-06");
var test6Result = dateConvertsCorrectly("2017-06-07", "2017-06-07");
console.log('test 1 passed:', test1Result);
console.log('test 2 passed:', test2Result);
console.log('test 3 passed:', test3Result);
console.log('test 4 passed:', test4Result);
console.log('test 5 passed:', test5Result);
console.log('test 6 passed:', test6Result);
function pgFormatDate(date) {
/* Via http://stackoverflow.com/questions/3605214/javascript-add-leading-zeroes-to-date */
function zeroPad(d) {
return ("0" + d).slice(-2)
}
if (date) {
var parsed = new Date(date)
return [parsed.getUTCFullYear(), zeroPad(parsed.getMonth() + 1), zeroPad(parsed.getDate())].join("-");
} else {
return null;
}
}
function dateConvertsCorrectly (input, expectedOutput) {
return pgFormatDate(input) === expectedOutput;
}