Skip to content

Update TzTimeZone.cs#9

Open
Polyariz wants to merge 1 commit into
LZorglub:masterfrom
Polyariz:patch-2
Open

Update TzTimeZone.cs#9
Polyariz wants to merge 1 commit into
LZorglub:masterfrom
Polyariz:patch-2

Conversation

@Polyariz

Copy link
Copy Markdown

Issue in ToUniversalTime method:
The method fails to handle DST transition times correctly. When converting local time that falls within the "missing hour" during spring forward transition (e.g. 2:00 -> 3:00), the method throws an ArgumentOutOfRangeException because it can't find a valid rule for that time. Current behavior:

if (!ZoneRules.Any(z => datetime >= z.StartZone.ToLocalTime() && datetime < z.EndZone.ToLocalTime())) {
throw new ArgumentOutOfRangeException(nameof(datetime));
}
This check fails for DST transition times. The method should:

Check if time falls within DST transition
If yes, use rule from previous hour
If no, proceed with normal conversion

Example case: Local time 25.03.2023 22:00:00 (America/Nuuk) falls in DST transition but throws exception instead of handling it properly.

Issue in ToUniversalTime method:
The method fails to handle DST transition times correctly. When converting local time that falls within the "missing hour" during spring forward transition (e.g. 2:00 -> 3:00), the method throws an ArgumentOutOfRangeException because it can't find a valid rule for that time.
Current behavior:
csharpCopyif (!ZoneRules.Any(z => datetime >= z.StartZone.ToLocalTime() && datetime < z.EndZone.ToLocalTime()))
{
    throw new ArgumentOutOfRangeException(nameof(datetime));
}
This check fails for DST transition times. The method should:

Check if time falls within DST transition
If yes, use rule from previous hour
If no, proceed with normal conversion

Example case: Local time 25.03.2023 22:00:00 falls in DST transition but throws exception instead of handling it properly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant