dotnet-api-docs icon indicating copy to clipboard operation
dotnet-api-docs copied to clipboard

Document IANA time zone support on Windows in FindSystemTimeZoneById

Open oii-nasif opened this issue 3 months ago • 0 comments

Summary

  • Added documentation noting that Windows systems support IANA time zone identifiers starting with .NET 6
  • Clarified that FindSystemTimeZoneById provides cross-platform time zone resolution
  • Included examples of IANA identifiers like "America/Los_Angeles" and "Pacific/Auckland"

Details

The FindSystemTimeZoneById method documentation previously only mentioned that Windows systems use registry lookups while Linux and macOS use the ICU Library. This could mislead developers into thinking IANA time zone identifiers (like "Pacific/Auckland") only work on non-Windows platforms.

What Changed

Updated the Remarks section to clarify:

On Windows systems, FindSystemTimeZoneById tries to match id to the subkey names of the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zones branch of the registry. Starting with .NET 6, Windows systems also support IANA time zone identifiers (such as "America/Los_Angeles" or "Pacific/Auckland"), providing cross-platform time zone resolution. On Linux and macOS, it uses time zone information available in the ICU Library.

Why This Matters

This enhancement in .NET 6 allows developers to:

  • Use consistent time zone identifiers across all platforms
  • Write truly cross-platform code without platform-specific time zone handling
  • Leverage the more widely-used IANA time zone database on Windows

Without this documentation update, developers might unnecessarily write platform-specific code or miss out on this cross-platform capability.

Fixes #10713

oii-nasif avatar Oct 04 '25 00:10 oii-nasif