实现思路:获取到近一百年的日期,然后使用for循环判断是否对称
let lucky_day_arr = []//存放年份数组
//传入年份 获取时间戳默认拼接-01-01 每年一月一月 至-12-31
var start_year = 2000
var end_year = 2100
go(start_year, `在这里插入代码片`end_year)
function go(start_year, end_year) {
let start_time_stamp = new Date(start_year + '-01-01').getTime()
let end_time_stamp = new Date(end_year + '-12-31').getTime()
for (let i = start_time_stamp; i < end_time_stamp; i = i + 60 * 60 * 24 * 1000) {
if (getLuckyDay(getTime(i)))
lucky_day_arr.push(getTime(i))
}
console.log(lucky_day_arr)
}
//时间戳转日期yyyymmdd
function getTime(time_stamp) {
var date = new Date(time_stamp);
var Month = date.getMonth() + 1;
var Day = date.getDate();
var Y = date.getFullYear();
var M = Month < 10 ? '0' + Month : '' + Month;
var D = Day + 1 < 10 ? '0' + Day : '' + Day;
return Y + M + D;
}
// 计算对称日
function getLuckyDay(day) {
let flag = 1
let arr = day.toString().split('')
let k = 7
for (let j = 0; j < 4; j++) {
if (arr[j] != arr[k]) {
flag = 0
break
}
k--;
}
return flag == 1 ? true : false
}