I don't understand the conditions. The law determines when the switching of offsets from UTC happen, not some person. The switch doesn't happen at 08:48:27 am in Chicago; it happens at 2am.
On Mon, Jul 10, 2017 at 2:02 PM, Binarus <li...@binarus.de> wrote: > Dear experts, > > a few days ago I have got great help from this list, so I hope I may ask > another (probably stupid) question (I am now having the opposite problem > than back then): > > Using DateTime, is it possible to tell in advance if a certain date-time > which is given in a certain locale will be ambiguous due to switching > from DST to standard time? > > Example (taken from DateTime's documentation): > > my $dt = DateTime->new( > year => 2003, > month => 10, > day => 26, > hour => 1, > minute => 30, > second => 0, > time_zone => 'America/Chicago', > ); > > Now $dt is ambiguous: The clock has been turned back to 01:00:00 h at > 02:00:00 that night, so the time 01:30:00 h has occurred twice. > > Even after thinking many hours about it, I haven't found a reasonable > general method to determine if an arbitrary date-time is ambiguous in > the sense above. > > Possibly, I could subtract different time spans from the date-time in > question and check if the result is the expected one and use that to > find out if it is ambiguous, but this would cost much CPU time. > > So I would like to ask if somebody knows a general, reasonable method > for solving that problem, given the following conditions: > > 1) We don't know the time span the clock is turned back when switching > from DST to standard time. It might be one hour in most time zones / > countries, but after all, some weird person could decide that it is 18 > minutes and 13 seconds or 5 hours, 53 minutes and 42 seconds. > > 2) We don't know whether the point in time when the switch occurs is > exactly at an hour's end / begin. Again, some weird person could decide > that the switch happens at 08:48:27 am. > > I know that there are not many persons on the world that are *that* > weird, but on the other hand, I don't want to implement an algorithm > which uses assumptions which are not safe. > > As a last resort, there is at least one other module (AFAIK) which I > could use to extract the daylight saving switching times and time spans > from the time zone database, and I could use that information to solve > my problem. But this would probably mean to reinvent the wheel, so I'd > like to avoid it. > > Thank you very much in advance, > > Binarus >