我有從Web服務處理數據的MonoTouch應用程序。此數據包含特定於時區的日期信息。時區是UTC +12,用於新西蘭。獲取DateTime.Now爲特定的時區而不管設備的時區?
我的應用程序根據當前時間顯示此數據。問題在於,當應用程序在不同時區使用時,數據顯示不正確,因爲設備上的當前時間不正確。
無論設備上的語言環境/時區設置如何獲取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
以DateTime.UtcNow開頭? –
@lanks:發生了什麼?你爲什麼不去除你的答案。這不是你想要的嗎? –
@Nickhil Agrawal對不起,但經過測試你的答案它沒有奏效。我用代碼和例外更新了我的問題。 – startupsmith