无法从设备获取Unity TimeZone

时间:2018-01-22 07:09:43

标签: c# unity3d

似乎TimeZone或TimeZoneInfo无法在Unity(2017.1.1f1)中运行。 是否有任何解决方案如何获得设备TimeZone? 感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用System.TimeZone Class来获取设备的当前时区

答案 1 :(得分:0)

我在Unity3d_5.5.3p1上遇到了timezoneinfo的问题。

当我尝试在设备上访问timezoneinfo时,它总是抛出异常。但是在编辑器上,它有效。

所以我尝试制作一个自定义的timezoneinfo,但它也没有用。 (我试过这种方式。https://msdn.microsoft.com/en-us/library/system.timezoneinfo.adjustmentrule.createadjustmentrule(v=vs.110).aspx)。

最后,我使用timezoneinfo的自定义库实现。

http://www.babiej.demon.nl/Tz4Net/main.htm

public static DateTime ParseTimestampToPSTDateTime(long timestamp)
{
    TZ4Net.OlsonTimeZone pst = TZ4Net.OlsonTimeZone.GetInstanceFromOlsonName("America/Los_Angeles");

    return pst.ToLocalTime(ParseTimestampToDateTime(timestamp));
}

它易于使用且有效!