我正在使用 C# 在 Xamarin Studio 中开发一个项目。它是一个 .net PCL 项目,我的个人资料是 78。我的问题是,我无法将 DateTime 从 UTC 转换为指定的时区。我正在使用以下代码将 DateTime 从 UTC 转换为指定的本地时区。
DateTime dateTime = (TimeZoneInfo.ConvertTime (DateTime.SpecifyKind (DateTime.UtcNow, DateTimeKind.Utc), profile.TimeZone));
我低于异常
在 PCL 中
TimeZoneInfo.ConvertTime
没有用于指定 TimeZoneInfo sourceTimeZone
的参数。它只有 2 个具有以下参数的重载。TimeZoneInfo 的存在仅用于指定目标 TimeZoneInfo。
它也没有
TimeZoneInfo.ConvertTimeFromUtc, TimeZoneInfo.ConvertTimeToUtc
方法。请有人帮我解决这个问题。
最佳答案
添加到汉斯的评论:
看看 Noda Time 。这是一个用于 .NET 的日期/时间库,它有自己的时区数据,因此它不必依赖于操作系统。它还支持 PCL。
关于将时间从 UTC 转换为指定的时区时出现 .NET PCL 异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24176274/