Skip to content

Commit d9a6e87

Browse files
[libs][TimeZoneInfo] Bound transition time conversion (#21686)
Co-authored-by: mdh1418 <mitchhwang1418@gmail.com>
1 parent 7e58b2a commit d9a6e87

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

mcs/class/corlib/System/TimeZoneInfo.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1553,11 +1553,10 @@ static List<KeyValuePair<DateTime, TimeType>> ParseTransitions (byte [] buffer,
15531553
return list;
15541554
}
15551555

1556-
static DateTime DateTimeFromUnixTime (long unix_time)
1557-
{
1558-
DateTime date_time = new DateTime (1970, 1, 1);
1559-
return date_time.AddSeconds (unix_time);
1560-
}
1556+
static DateTime DateTimeFromUnixTime (long unix_time) =>
1557+
unix_time < DateTimeOffset.UnixMinSeconds ? DateTime.MinValue :
1558+
unix_time > DateTimeOffset.UnixMaxSeconds ? DateTime.MaxValue :
1559+
DateTimeOffset.FromUnixTimeSeconds(unix_time).UtcDateTime;
15611560

15621561
#region reference sources
15631562
// Shortcut for TimeZoneInfo.Local.GetUtcOffset

0 commit comments

Comments
 (0)