Nathan has provided an interesting list of ambiguities, but I see a few problems with the list. Nathan Myers wrote:
0. Unambiguous time, e.g. 04:30 morning of a time change
t0=123456789 offset 0: 0 sec; wall-clock offset: -3600 sec; interpretation: unambiguous; confidence: certain offset 0: -3600 sec; wall-clock offset: -3600 sec. interpretation: suggested substitute; confidence: doubtful
1. Spring ambiguity, enter 02:30 when it doesn't exist because civil time proceeded 01:59:59 -> 03:00:00. (Or 02:00:00 to 03:00:01? I don't know.)
t0=123456789 offset 0: 0 sec; wall-clock offset: -3600 sec. interpretation: suggested substitute; confidence: doubtful
2. Spring ambiguity, enter 02:30 when it doesn't exist because civil time proceeded 01:59:59 -> 03:00:00 (or whatever).
t0=123456789 offset 0: 0 sec; wall-clock offset: 0 sec. interpretation: official choice; confidence: Nominally unambiguous offset 1: -3600 sec; wall-clock offset: 0 sec. interpretation: suggested substitute; confidence: doubtful
3. Autumn ambiguity, enter 01:30 on morning when civil time proceeds from 01:59:59 to 01:00; is it the first or second 01:30 event?
t0=123456789 offset 0: 0 sec; wall-clock offset: 3600 sec. interpretation: ambiguous choice; confidence: equal alternative offset 1: 3600 sec; wall-clock offset: 0 sec. interpretation: ambiguous choice; confidence: equal alternative
4. Autumn, enter 02:30, same morning as above; did they mean the official 02:30, or did they mean the second 01:30 because they failed to reset their clock?
t0=123456789 offset 0: 0 sec; wall-clock offset: 0 sec. interpretation: official choice; confidence: Nominally unambiguous offset 1: 3600 sec; wall-clock offset: 0 sec. interpretation: unofficial choice; confidence: Possible alternative
"Because they failed to reset their clock"! That possibility could apply to all times both DLS and non-DLS during all days of the year (or at least during some fuzzy set period in and around each time change), so the additional entry in #4 (caused by reading from an unofficial clock that wasn't changed) should be the same as the additional entry in #0 (caused by reading from an unofficial clock that wasn't changed). In the #0 your second possibility is "doubtful ... substitution", in #4 you have "possible ... unofficial". I don't see them as different. What are you trying to suggest by having so many catagories? How can you really differentiate between them? At a minimum this appears to suggest that there is a redundancy in your proposed catagories, but maybe I don't completely understand the use of the two offsets, which also differ between the two possibilities, but I can't see why they would. Speaking of ambiguity, could you explain what your are really trying to capture in #1 and #2, because your descriptions are of the same circumstance. Maybe you meant #1 is one half hour after the time change ("2:30" is a Standard Time) and #2 is one half-hour before the time change ("2:30" is a DLS Time). If so, these are also the result of reading a clock that wasn't reset correctly and putting that value in the tm struct, so why are your return results different by more than just a sign in the offset. This seems to leave us with only one other possibility, #3, the one hour of time that really does correctly exist twice on a wall clock running in both Standard and DLS time correctly. thanks, -Paul Hill