-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect DST handling for southern hemisphere? #16
Comments
Can you give me an example, maybe you must use a "-" for DST. |
Does it work? |
I also have this issue using NZ timezone (UTC + 12). My workaround is to put STD in the DST and DST in the STD:
Annoying but works |
Looking at NTP.cpp, I think it's in the NTP::summerTime() method (line 274). This is untested but might fix it ??
|
Same workaround appears to work for me as well - will be able to confirm 100% at end of DST in April 2025. I'm in Australia - also southern hemisphere but UTC +10/+11 DST I agree with @mdarnold1 that the logic is flawed in that in the southern hemisphere DST commences late in one calendar year and ends early in the next, whereas in the northern hemisphere it commences and ends in the same year so as both @mdarnold1 This can be fairly easily proven by changing ntp.ruleSTD("AEST", Last, Sun, Mar, 2, 600) to ntp.ruleSTD("AEST", Last, Sun, Nov, 2, 600) which in effect brings DST end into the same calendar year as DST start which in turn causes the correct offset to be applied Ultimately though I can't see an easy fix without adding an additional configuration parameter |
DST for southern hemisphere timezones does not seem to work correctly.
NTP::summerTime() assumes that utcDST<utcSTD, and NTP::beginDST() assumes both utcDST & utcSTD apply to current->tm_year. Then it follows that NTP::summerTime() always returns false for the southern hemisphere.
The text was updated successfully, but these errors were encountered: