onesine / react-tailwindcss-datepicker

Modern date range picker component for React using Tailwind 3 and dayjs. Alternative to Litepie Datepicker.
https://react-tailwindcss-datepicker.vercel.app/
MIT License
552 stars 169 forks source link

[Fix 🐛] Update date format in Week component #275

Open leonelhenriquez opened 2 months ago

leonelhenriquez commented 2 months ago

The code changes update the date format in the Week component of the Calendar. Instead of using a string to specify the date, it now uses the new Date() constructor with specific parameters. This change improves the readability and maintainability of the code.

The error occurs because the week is iterated using the JavaScript Date constructor as a string, which causes variations between the actual day.

Example of how it's iterated and its result:

new Date('2022-11-6')  // -> Sun Nov 06 2022 00:00:00 GMT-0600
new Date('2022-11-7')  // -> Mon Nov 07 2022 00:00:00 GMT-0600
new Date('2022-11-8')  // -> Tue Nov 08 2022 00:00:00 GMT-0600
new Date('2022-11-9')  // -> Wed Nov 09 2022 00:00:00 GMT-0600
new Date('2022-11-10') // -> Wed Nov 09 2022 18:00:00 GMT-0600
new Date('2022-11-11') // -> Thu Nov 10 2022 18:00:00 GMT-0600
new Date('2022-11-12') // -> Fri Nov 11 2022 18:00:00 GMT-0600

If we iterate using the Date(year, month, day) constructor, these variations do not occur:

new Date(2022,10,6)  // -> Sun Nov 06 2022 00:00:00 GMT-0600
new Date(2022,10,7)  // -> Mon Nov 07 2022 00:00:00 GMT-0600
new Date(2022,10,8)  // -> Tue Nov 08 2022 00:00:00 GMT-0600
new Date(2022,10,9)  // -> Wed Nov 09 2022 00:00:00 GMT-0600
new Date(2022,10,10) // -> Thu Nov 10 2022 00:00:00 GMT-0600
new Date(2022,10,11) // -> Fri Nov 11 2022 00:00:00 GMT-0600
new Date(2022,10,12) // -> Sat Nov 12 2022 00:00:00 GMT-0600
leonelhenriquez commented 2 months ago

Issues: Duplicated week days bug #273

DreamDevourer commented 4 weeks ago

Perfect solution on this one, thank you leonelhenriquez!

ddematheu commented 2 weeks ago

@onesine any feedback to have this merged? Thanks!