chiyadev / genshin-schedule

🕑 Genshin farming scheduler
https://genshin.chiya.dev
MIT License
72 stars 17 forks source link

Daylight Timezone Support #54

Closed lostguru closed 3 years ago

lostguru commented 3 years ago

Most countries in North America and Europe observe Daylight Savings Time, where clocks are set forward one hour for half of the year. Currently the website doesn't account for this when displaying times.

As an example, for timezones such as America/New_York, currently the time should be displayed in Eastern Daylight Time (EDT, or UTC-04:00), but it is still displayed in Eastern Standard Time (EST, or UTC-05:00)

Daylight Savings Time is complicated and varies in implementation between countries, so it'd probably be easiest to use something like moment.js and moment-timezone to take care of that stuff. If this isn't feasible or too time consuming, a simple manual toggle in the Settings menu would be enough. (e.g. checking a checkbox would add an hour to all times displayed)

luaneko commented 3 years ago

moment.js is deprecated, so we are currently using Luxon for date calculation. This code is responsible for determining the server timezone, but it's not considering DST because it returns UTC offsets instead of actual timezones.

lostguru commented 3 years ago

Oh wow, I didn't know Moment wasn't getting updated anymore. In that case I'll leave things to your better judgement.

luaneko commented 3 years ago

Fixed!