我已經寫了這個簡單的控制檯應用程序來測試當我們在Windows 7上使用設置日期時間窗口手動更改時區時,無論timechange事件是否被觸發?答案是肯定的它觸發,但我印這是無法正確顯示當前時間..SystemEvent.TimeChange顯示同一時間甚至時區更改
static void Main(string[] args)
{
SystemEvents.TimeChanged += new EventHandler(SystemEvents_TimeChanged);
Console.Read();
}
static void SystemEvents_TimeChanged(object sender, EventArgs e)
{
Console.WriteLine(DateTime.Now);
}
一旦運行控制檯應用程序,然後試圖改變它處處體現一個時間更改時區,但後來不知何故堅持即使您將時區更改爲不同的時區或相同時間。
我錯過了什麼嗎?
以驗證系統時間是否已更改我已打開命令提示符並使用date和'time'命令打印當前時間,該時間根據時區顯示完美。
謝謝喬恩。我發現相同的緩存。解決了。 – user393014
另外不要忘記把CultureInfo.CurrentCulture.ClearCachedData(); TimeZoneInfo.ClearCacheData()之前; – user393014
@ user393014:嗯......我不需要那樣做。如果你不在你的機器上這樣做會發生什麼? –