我正在使用 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/

10-11 12:40