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.
Yeah, that one! It's a pretty nice library. The difference between it and moment is that date-fns operates on standard Date objects, rather than having its own type
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
Dateany more. Pop quiz, what's inwhatnum?Err, it's 5... Ha, amazing; that's not even the gotcha I meant to demonstrate.
getDayreturns 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.
Man, I can't remember the last time I used Date. I either use moment or... the other big one. I think it's just a three letter name?
date-fns? It's third in my search results but doesn't ring any bells to me.
Day.js possibly. It’s a near drop-in for moment since moment is deprecated.
Yeah, that one! It's a pretty nice library. The difference between it and moment is that date-fns operates on standard Date objects, rather than having its own type
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!