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>');
    });

})();