Just as an aside, in a related thread user gfvalvo provided some test code and I have confirmed that the ESP32 time functions DO account for DST, even without NTP updates as shown below. After synching with NTP, I manually set the time for 11/2/25 01:59 which is a minute before DST ends in my time zone - and the ESP32 clock dutifully transition from 01:59:59 to 01:00:00 as it should.
Good to know and saves a lot of DST logic coding ![]()
EDIT - I wonder if setting a boolean flag tracking if DST transitions have occurred would help towards preventing missed or duplicated hourly events at that hour.
09:18:00.656 -> Local Time: Sunday, November 02 2025 01:59:59 EDT
09:18:00.656 -> Sync Status: Reset, Remaining Time to Adjust: 0us
09:18:00.656 ->
09:18:01.612 -> Local Time: Sunday, November 02 2025 01:00:00 EST
09:18:01.612 -> Sync Status: Reset, Remaining Time to Adjust: 0us
09:18:01.612 ->
09:18:02.648 -> Local Time: Sunday, November 02 2025 01:00:01 EST
09:18:02.648 -> Sync Status: Reset, Remaining Time to Adjust: 0us