我检查了System的API文档。TimeZoneInfo它说有一个方法叫做FindSystemTimeZoneById它接受一个字符串参数
但是,当我试图在我的Xamarin项目中实现它时,它给了我一个错误:TimeZoneInfo不包含'FindSystemTimeZoneById'的定义。
有谁知道如何解决这个错误吗?
可移植类库不能通过TimeZoneInfo
API访问系统时区,因为系统时区是平台特定的。Windows时区与大多数平台上的IANA时区非常不同。在时区标签wiki中阅读更多内容。
如果你需要在Xamarin应用程序中使用多个时区,你最好的选择是使用标准的IANA时区(又名"tzdb")和Noda时间库,而不是使用TimeZoneInfo
。
或者,您可以不使用PCL,而是使用每个平台可用的时区创建单独的平台专用库。但是,您可能会发现这很困难,因为不仅api不同,而且数据也不同。