Use of LocalTimeRK in Australia

@rickkas7 Thanks for this library routine - it takes the pain out of dealing with daylight saving time

I have come across an issue - not sure if its my implementation or an error in the library

When I use the example for Sydney it works correctly
AEST-10AEDT,M10.2.0/2:00:00,M4.1.0/2:00:00"));

However when I use the following code for Adelaide it is out by an hour
“ACST-9:30ACDT,M10.2.0/2:00:00,M4.1.0/2:00:00”

Adelaide is +9:30 ahead of UTC - is this the correct string or should it read ACST-10:30ACDT which gives the correct time but does not seem particularly logical?

Thanks

@rickkas7 I have explored further and it is something to do with the half hour offset - is my use of -9:30 the correct syntax?

Sydney AEST-10AEDT,M10.2.0/2:00:00,M4.1.0/2:00:00 displays correct time and shows +10:00 on right end of message

Adelaide ACST-9:30ACDT,M10.2.0/2:00:00,M4.1.0/2:00:00 displays time with an error of 1 hour (eg 15:40 rather than 16:40) and shows +8:30 on right end of message (should be +9:30)

Perth AWST-8AWDT,M10.2.0/2:00:00,M4.1.0/2:00:00 displays correct time and shows +8:00 on right end of message

I found the bug that is causing negative POSIX timezone offsets with minutes to be calculated incorrectly.

When running the new unit test for Adelaide, Australia, the start/end of daylight saving is sometimes off by an hour. I’ll fix that before I release a new version.

New version with the fix. The time string for Adelaide should be

"ACST-9:30ACDT,M10.1.0/02:00:00,M4.1.0/03:00:00"

0.0.5 (2021-07-08)

  • Fixed bug in calculation of negative hour offsets that also included minutes
  • Added unit test for Adelaide, Australia
2 Likes

Thanks

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.