【发布时间】:2016-09-11 06:10:45
【问题描述】:
基本上我可以使用以下代码检测系统时区列表:
foreach(TimeZoneInfo info in tz)
Debug.Log("time zone id : " + info.Id + " display name : " + info.DisplayName);
运行此代码,我在控制台中有以下输出。
在这个列表中,我想知道,我当前的系统在关注哪一个? 因为我想要关于那个时区的具体信息。就像下面的代码一样,我写得很清楚“亚洲/加尔各答”。
TimeZoneInfo infos = System.TimeZoneInfo.FindSystemTimeZoneById("Asia/Kolkata");
通过运行哪个代码,我可以获得“Asia/Kolkata”作为输出?
编辑:我已经在这里使用了 NodaTime 并为此目的运行代码。
// Create a NodaTime DateTimeZoneSource object for IANA time zone names
var dateTimeZoneSource = TzdbDateTimeZoneSource.Default;
// Get the Windows time zone by name (or use TimeZoneInfo.Local)
var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
// Convert between Windows and IANA time zone names
var tzdbTimeZoneInfo = dateTimeZoneSource.MapTimeZoneId(timeZoneInfo);
Console.WriteLine(tzdbTimeZoneInfo);
但在这方面,我得到了例外,
引发了“System.TimeZoneNotFoundException”类型的异常。
我使用 Mac 系统和编辑器作为 Mono Develop - Unity,我的目标设备是 iPhone。
【问题讨论】:
标签: c# unity3d timezone system monodevelop