我有 MonoTouch 应用程序,它处理来自网络服务的数据。此数据包含特定于时区的日期信息。时区是 UTC +12,适用于新西兰。
我的应用程序根据当前时间显示此数据。这样做的问题是,当应用程序在不同的 TimeZones 中使用时,数据无法正确显示,因为设备上的当前时间不正确。
无论设备上的语言环境/时区设置如何,如何获取 UTC +12 的当前日期时间?
编辑:
我根据以下答案尝试了以下代码:
TimeZoneInfo.ConvertTime (DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("Pacific/Auckland"));
此代码在我的计算机上运行良好,但是当我在 MonoTouch 中运行它时,出现以下异常:
System.ArgumentException: Kind propery of dateTime is Local but the sourceTimeZone does not equal TimeZoneInfo.Local
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo sourceTimeZone, System.TimeZoneInfo destinationTimeZone) [0x00018] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System/TimeZoneInfo.cs:179
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo destinationTimeZone) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System/TimeZoneInfo.cs:173