TimeZoneInfo.FindSystemTimeZoneById在Xamarin中不可用

时间:2016-09-01 21:03:47

标签: c# xamarin timezone portable-class-library

我检查了System.TimeZoneInfo的API文档,它说有一个名为FindSystemTimeZoneById的方法,它接受单字符串参数。

但是,当我尝试在我的Xamarin项目中实现它时,它给了我一个错误:TimeZoneInfo没有包含' FindSystemTimeZoneById'的定义。

有谁知道如何解决这个错误?

1 个答案:

答案 0 :(得分:2)

可移植类库无法通过TimeZoneInfo API访问系统时区,因为系统时区是特定于平台的。 Windows时区与大多数平台上的IANA时区非常不同。阅读the timezone tag wiki中的更多内容。

如果您需要在Xamarin应用程序中使用多个时区,最好的办法是将标准IANA时区(也称为“tzdb”)与Noda Time库一起使用,而不是使用TimeZoneInfo一点都不。

或者,您无法使用PCL,而是使用每个平台提供的时区创建单独的平台专用库。您可能会发现这很困难,因为不仅API不同,而且数据也不同。