我正在尝试将当前时间转换为中央标准时间。使用 Mono 和 .NET,这些都可以工作。
TimeZoneInfo cst = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
TimeZoneInfo.ConvertTime(DateTime.UtcNow, cst);
TimeZoneInfo.ConvertTime(DateTime.Now, cst);
使用 MonoDroid 3.0.4,第一个给出这个错误:
Unhandled Exception:
System.ArgumentException: Kind propery of dateTime is Utc but the sourceTimeZone does not equal TimeZoneInfo.Utc
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo sourceTimeZone, System.TimeZoneInfo destinationTimeZone) [0x00000] in <filename unknown>:0
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo destinationTimeZone) [0x00000] in <filename unknown>:0
第二个给出了这个错误:
Unhandled Exception:
System.ArgumentNullException: Argument cannot be null.
Parameter name: destinationTimeZone
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo sourceTimeZone, System.TimeZoneInfo destinationTimeZone) [0x00000] in <filename unknown>:0
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo destinationTimeZone) [0x00000] in <filename unknown>:0
TimeZoneInfo.ConvertTimeBySystemTimeZoneId 也有同样的问题。
无论如何要使用 MonoDroid 获取不同时区的当前时间?