NEWS
day of year
-
Hallo ihr alle da draußen
Ich wollte den Tag im Jahr ausrechnen mit folgendem Code:
function tag_im_jahr(){ let now = new Date(); let start = new Date(now.getFullYear(), 0, 0); let diff = (now - start) + ((start.getTimezoneOffset() - now.getTimezoneOffset()) * 60 * 1000); let oneDay = 1000 * 60 * 60 * 24; let day = Math.floor(diff / oneDay); return day; }
So weit so gut es funktioniert auch aber die variablen "now" und "start" werden rot unterstrichen mit folgendem Fehler:
let now: Date The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.(2362) let start: Date The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.(2363)
Wie bekomme ich den Skript sauber??
-
-
@pat sagte: Wie bekomme ich den Skript sauber??
Javascript macht zwar eine implizite Typwandlung, aber korrekt ist es so:
now.getTime() - start.getTime()
Ich würde es so machen, da es sich besser liest:
function tag_im_jahr(){ let now = new Date(); let start = new Date(now.getFullYear() + '-01-01 00:00'); let diff = now.getTime() - start.getTime() + 60000 * (start.getTimezoneOffset() - now.getTimezoneOffset()); return Math.ceil(diff / 86400000); }
-
@paul53 said in day of year:
Vielen lieben dank dir