clock: Fix DST problem in [clock scan] using "-gmt 0" #299
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently (in the UK, pre-DST, with "now" set to 1711500000):
Next week (post-DST, with "now" set to 1712000000):
This because tm.tm_isdst is set by localtime_r() using "now" set by time(NULL).
It is nonsensical to specify a date to convert and have the DST flag used in the conversion set from another (i.e. the current) date.
With the patch (set tm.tm_isdst to -1 and leave mktime() to figure it out), it is correct under all circumstances:
For reference: