-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
Description
Description
TimeZoneInfo.IsAmbiguousTime returns false for a time which is ambiguous
Reproduction Steps
Program which prints all ambiguous hours in year 2025 in Europe/Dublin timezone.
static void Main()
{
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Europe/Dublin");
DateTime start = new DateTime(2025, 1, 1);
DateTime end = new DateTime(2025, 12, 31);
DateTime current = start;
TimeSpan step = TimeSpan.FromHours(1);
while (current < end)
{
if (tz.IsAmbiguousTime(current))
Console.WriteLine(current);
current = current.Add(step);
}
}Expected behavior
10/26/2025 01:00:00
Actual behavior
No output
Regression?
No response
Known Workarounds
No response
Configuration
.NET version: .NET 8.0.403
OS: Ubuntu 22.04.2 x64
Other information
The Europe/Dublin timezone observes a negative DST offset, with daylight saving time occurring during the winter months. This contrasts with timezones such as Europe/London, where the DST offset is positive and daylight saving time takes place in the summer.
DST adjustment rules for Dublin:
Adjustment rules for 2025:
------------------------------------------------------------
Rule effective from 2025-01-01 to 2025-03-30
DST Delta: -01:00:00
DST starts: 00:00 on 01/01
DST ends: 00:59 on 03/30
Rule effective from 2025-10-26 to 2025-12-31
DST Delta: -01:00:00
DST starts: 02:00 on 10/26
DST ends: 23:59 on 12/31
DST adjustment rules for London
Adjustment rules for 2025:
------------------------------------------------------------
Rule effective from 2025-03-30 to 2025-10-26
DST Delta: 01:00:00
DST starts: 01:00 on 03/30
DST ends: 01:59 on 10/26
The reason can be found here: https://github.com/eggert/tz/blob/2021e/europe#L368