Mich ho provato a mettere solo il tuo codice...ma non carica nulla nada de nada, allora ho pensato di cambiare solo questo pezzo

giorno_anno = Math.floor((today.getTime() -start.getTime()) / (1000 * 60 * 60 * 24) );

che come dici tu è un ottima idea ..una sola divisione e il resto moltiplicazione, ho omesso cmq il Math.floor che se immesso mi carica un giorno addietro.

Ora faccio un po' di prove poi ti faccio sapere per ora Arigatho