JSFiddle - React, Tailwind, and code Playground
by donniec
JavaScript
(function(){
Date.prototype.getDOY = function() {
var simpleDate = new Date(this.getFullYear(), this.getMonth(), this.getDate());
var onejan = new Date(this.getFullYear(),0,1,0,0,0,0);
return Math.ceil(((simpleDate - onejan) / (8.64e7)+1));
}
/*
console.log(new Date("12/27/2015"));
console.log(new Date("12/27/2015").getDOY());
console.log(new Date("12/27/2015 00:00:01"));
console.log(new Date("12/27/2015 00:00:01").getDOY());
console.log(new Date());
console.log(new Date().getDOY());
*/
function test(x, today) {
return (((today-d) <= (x+y)) && ((x+y) <= (today+d))) ||
(((today-d) <= x)) && ((x <= (today+d)) )
}
var d = 7;
var y = 365;
var today = new Date().getDOY();
var dates = [
new Date("11/25/2011"),
new Date("12/19/2001"),
new Date("12/20/2022"), // 1
new Date("12/21/2021"), // 2
new Date("12/22/2021"), // 3
new Date("12/23/2019"), // 4
new Date("12/24/2018"), // 5
new Date("12/25/2017"), // 6
new Date("12/26/2017"), // 7
new Date("12/27/2015"), // today
new Date("12/28/2014"), // 1
new Date("12/29/2013"), // 2
new Date("12/30/2013"), // 3
new Date("12/31/2011"), // 4
new Date("1/1/2010"), // 5
new Date("1/2/2009"), // 6
new Date("1/3/2008"), // 7
new Date("1/4/2007"),
new Date("1/15/2006")
];
window.document.write("[",(today-d),"<=",today,"<=",(today+d)%y,")<br>");
dates.map(function(date){
var doy = date.getDOY();
window.document.write(date,` (${doy})`, "=",test(doy, today),'<br>');
});
})();