Skip to content

Instantly share code, notes, and snippets.

@iykekings
Created February 2, 2020 11:02
Show Gist options
  • Save iykekings/953a87d449b9d63dcc93b68f6a552684 to your computer and use it in GitHub Desktop.
Save iykekings/953a87d449b9d63dcc93b68f6a552684 to your computer and use it in GitHub Desktop.
Generate Date Palindromes
function generatePalindromes(data) {
return data.filter(d => {
let c = d.replace('-', '');
let first = c.slice(0, 2) === c.slice(-2).split``.reverse``.join``;
let second = c.slice(2, 4) === c.slice(4, 6).split``.reverse``.join``;
return first && second;
});
}
function genDates(begin, end) {
let res = [];
let current = new Date(begin).getTime();
const stop = new Date(end).getTime();
while (current < stop) {
res.push(new Date(current).toISOString().split('T')[0]);
current += 24 * 3600 * 1000;
}
return res;
}
// This year
console.log(generatePalindromes(genDates('01-01-2020', '12-31-2020')));
// From 01 Jan 2011 - 31 Dec 2020
console.log(generatePalindromes(genDates('01-01-2011', '12-31-2020')));
// From 01 Jan 1890 - 31 Dec 2020
console.log(generatePalindromes(genDates('01-01-1890', '12-31-2020')));
// From 31 Dec 2020 - 31 Dec 2050
console.log(generatePalindromes(genDates('12-31-2020', '12-31-2050')));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment