FindSystemTimeZoneById doesn't return new object
The TimeZoneInfo object returned by FindSystemTimeZoneById(String) is now a cached TimeZoneInfo
instance instead of a new object.
Previous behavior
TimeZoneInfo.FindSystemTimeZoneById(String) returned a new TimeZoneInfo
object.
New behavior
Starting in .NET 8, TimeZoneInfo.FindSystemTimeZoneById(String) returns a cached TimeZoneInfo
instance.
Version introduced
.NET 8
Type of breaking change
This change is a behavioral change.
Reason for change
This change was made to improve performance when calling FindSystemTimeZoneById(String). For more information, see dotnet/runtime pull request #85615.
Recommended action
If your code relied on FindSystemTimeZoneById(String) to create a new instance of TimeZoneInfo
, refactor the code to call one of these methods instead.