如何在C#中将时区作为字符串?

Sac*_*ith 4 c# timezone datetime

我需要以下面的格式获得PC的时区.

(UTC + 07:00)曼谷,河内,雅加达

我怎么能把它作为一个字符串?

Jon*_*eet 16

只需使用该TimeZoneInfo.DisplayName属性:

var zone = TimeZoneInfo.Local; // For example
Console.WriteLine(zone.DisplayName);
Run Code Online (Sandbox Code Playgroud)

或者您的确切示例:

var zone = TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time");
Console.WriteLine(zone.DisplayName); // (UTC+07:00) Bangkok, Hanoi, Jakarta
Run Code Online (Sandbox Code Playgroud)

  • @Sachith:如果您的程序在手动更改时区时已经运行,则需要调用`TimeZoneInfo.ClearCachedData()`.这并不是你所要求的一部分,所以我不会把它添加到答案中. (5认同)