2011-07-28 50 views
1

Compact Framework提供的API在基於Windows Mobile的設備上讀取時間(NOT in UTC !!) 是什麼?如何使用c#讀取Windows移動設備上的時間

我能夠使用此代碼來獲得設備的時間在UTC:

DateTime dt = DateLib.Now;    
SystemTime sysTime = new SystemTime(); 
Windows.SystemTime.GetSystemTime(out sysTime); 
Windows.SystemTime.ConvertTimeStructure(ref sysTime, out dt); 
Windows.SystemTime.SetSystemTime(dt); 

但我想的時候按設備的時區。 謝謝

回答

1

爲什麼不簡單地使用內置的支持DateTime.Now屬性?

EDIT

緊湊的框架caches timezone information on load,所以任何呼叫一個應用程序加載後更改時區不會反映到DateTime.Now的呼叫。

現在我假設你是P/Invoking GetSystemTime,而應該是P/Invoking GetLocalTime

+0

那麼,所發生的事情是這樣的:假設設備是太平洋標準時間(PST)和我啓動我的應用程序和登錄。我得到正確的時間。現在我註銷並更改時區以表示中央標準時間。我登錄並希望時間(DateTime.Now)能夠根據設備上的時鐘和鬧鐘應用程序(即CST)的時間給出時間,但我得到的時間仍然在PST中。所以,我決定在登錄到我的應用程序之前更新設備上的時間。所以,我首先讀取設備時間,然後設置它。但我不知道正確的API。 – Neeraj

+0

DateLib.Now只是DateTime.Now的一個包裝,它會剔除秒數。 – Neeraj

相關問題