Skip to content

TimeZoneInfo.IsAmbiguousTime returns incorrect result for Europe/Dublin timezone on Linux #120915

@denis-karev

Description

@denis-karev

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions