I'll be very happy to not have to use Date any more. Pop quiz, what's in whatnum?
const vday = new Date('14 February 2025');
const whatnum = vday.getDay() - vday.getMonth();
Err, it's 5... Ha, amazing; that's not even the gotcha I meant to demonstrate. getDay returns the day of the week, the day of the month is returned from getDate.
Take two:
const vday = new Date('14 February 2025');
const whatnum = vday.getDate() - vday.getMonth();
So this is 14 - 2 = 12, right? Nope! The day (from getDate) is 1-based whereas month is 0-based, so 14 - 1 = 13.
I'm quite lucky because I only had to solve an issue with JavaScript dates once, but what a nightmare it was… I had to understand how timezones worked, that was not fun!
I'll be very happy to not have to use
Date
any more. Pop quiz, what's inwhatnum
?Err, it's 5... Ha, amazing; that's not even the gotcha I meant to demonstrate.
getDay
returns the day of the week, the day of the month is returned fromgetDate
.Take two:
So this is 14 - 2 = 12, right? Nope! The day (from getDate) is 1-based whereas month is 0-based, so 14 - 1 = 13.
I'm quite lucky because I only had to solve an issue with JavaScript dates once, but what a nightmare it was… I had to understand how timezones worked, that was not fun!