Skip to content

Commit 218d2ef

Browse files
[libs][Unix] Fix UTC alias lookup (#88641)
1 parent 3eb6eef commit 218d2ef

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

src/libraries/System.Private.CoreLib/src/System/TimeZoneInfo.Unix.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ private static bool IsUtcAlias (string id)
3333
case 69: // e
3434
case 101: // E
3535
return string.Equals(id, "Etc/UTC", StringComparison.OrdinalIgnoreCase) ||
36+
string.Equals(id, "Etc/UCT", StringComparison.OrdinalIgnoreCase) ||
3637
string.Equals(id, "Etc/Universal", StringComparison.OrdinalIgnoreCase) ||
37-
string.Equals(id, "Etc/UTC", StringComparison.OrdinalIgnoreCase) ||
3838
string.Equals(id, "Etc/Zulu", StringComparison.OrdinalIgnoreCase);
3939
case 85: // u
4040
case 117: // U

src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2334,6 +2334,14 @@ public static IEnumerable<object[]> SystemTimeZonesTestData()
23342334
yield return new object[] { tz };
23352335
}
23362336
}
2337+
2338+
if (!PlatformDetection.IsBrowser)
2339+
{
2340+
foreach (string alias in s_UtcAliases)
2341+
{
2342+
yield return new object[] { TimeZoneInfo.FindSystemTimeZoneById(alias) };
2343+
}
2344+
}
23372345
}
23382346
}
23392347

@@ -2424,6 +2432,20 @@ public static void TimeZoneDisplayNames_Unix(TimeZoneInfo timeZone)
24242432
}
24252433
}
24262434

2435+
[Fact]
2436+
[PlatformSpecific(~TestPlatforms.Windows & ~TestPlatforms.Browser)]
2437+
public static void UtcAliases_MapToUtc()
2438+
{
2439+
TimeZoneInfo.AdjustmentRule[] expectedAdjustmentRules = TimeZoneInfo.Utc.GetAdjustmentRules();
2440+
2441+
foreach (var alias in s_UtcAliases)
2442+
{
2443+
TimeZoneInfo actualUtc = TimeZoneInfo.FindSystemTimeZoneById(alias);
2444+
Assert.Equal(TimeZoneInfo.Utc.BaseUtcOffset, actualUtc.BaseUtcOffset);
2445+
Assert.Equal(expectedAdjustmentRules, actualUtc.GetAdjustmentRules());
2446+
}
2447+
}
2448+
24272449
[ActiveIssue("https://github.com/dotnet/runtime/issues/19794", TestPlatforms.AnyUnix)]
24282450
[Theory]
24292451
[MemberData(nameof(SystemTimeZonesTestData))]

0 commit comments

Comments
 (0)