c#中的TimeZone.getDefault(). getid()等价于Java中的什么?
本文关键字:什么 Java getid 中的 TimeZone getDefault 等价于 | 更新日期: 2023-09-27 18:09:02
对于一个生活在Molossia共和国的人,下面的Java代码:
String TimeZoneId=TimeZone.getDefault().getID();
System.out.println(TimeZoneId);
将打印
美国/Regina
我尝试了TimeZoneInfo.GetSystemTimeZones()
,但返回值似乎不是tzdb id。c#中有等效的方法吗?
。Net本身并不支持TZDB,因为微软有自己的时区数据库。详细信息请参见时区标签wiki。
如果您想使用TZDB区域,请使用NodaTime库。你的问题的准确翻译是:
using NodaTime;
...
var timeZoneId = DateTimeZoneProviders.Tzdb.GetSystemDefault().Id;
Console.WriteLine(timeZoneId);
这通常可以使用TimeZone类来完成。从我的理解来看,这是最接近本机库的。你为什么需要那个具体的结果?
查看微软时区和Windows等效的转换表*,因为Windows不完全支持TZID,请查看下面的堆栈溢出问题以获取更多信息。我希望这是更有用的,因为我误解了你之前的问题!!——对不起!
//Get A reference to our timezone object
TimeZone t = TimeZone.CurrentTimeZone;
//Print out the display name
Console.WriteLine(t.StandardName);
MSDN REFERENCE
http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html请参考前面的stackoverflow问题.NET TimeZoneInfo from Olson time zone
返回类似的值
Calendar.GetTimeZone
查看更多信息:https://learn.microsoft.com/en-us/uwp/api/windows.globalization.calendar.gettimezone?view=winrt-20348