我检查了System.TimeZoneInfo的API文档,它说有一个名为FindSystemTimeZoneById的方法,它接受单字符串参数。
但是,当我尝试在我的Xamarin项目中实现它时,它给了我一个错误:TimeZoneInfo没有包含' FindSystemTimeZoneById'的定义。
有谁知道如何解决这个错误?
答案 0 :(得分:2)
可移植类库无法通过TimeZoneInfo
API访问系统时区,因为系统时区是特定于平台的。 Windows时区与大多数平台上的IANA时区非常不同。阅读the timezone tag wiki中的更多内容。
如果您需要在Xamarin应用程序中使用多个时区,最好的办法是将标准IANA时区(也称为“tzdb”)与Noda Time库一起使用,而不是使用TimeZoneInfo
一点都不。
或者,您无法使用PCL,而是使用每个平台提供的时区创建单独的平台专用库。您可能会发现这很困难,因为不仅API不同,而且数据也不同。