當地時間
雖然系統在內部使用 UTC 時間,但您的應用程式通常會顯示 當地時間,也就是時區的日期和時間。 因此,若要確保正確結果,您必須注意函式是否預期會收到以 UTC 為基礎的時間或當地時間,以及函式是否傳回以 UTC 為基礎的時間或當地時間。
目前的時區設定可控制系統在 UTC 和當地時間之間的轉換方式。 您可以使用 GetTimeZoneInformation 函式 來擷取目前的時區設定。 函式會將結果複製到 TIME_ZONE_INFORMATION 結構,並傳回值,指出當地時間目前為標準時間或日光節約時間, (DST) 。 您可以使用 SetTimeZoneInformation 函式 來設定時區設定。 若要支援從年到年度的日光節約時間界限,請使用 GetTimeZoneInformationForYear、 GetDynamicTimeZoneInformation 和 SetDynamicTimeZoneInformation 函 式 。
若要擷取當地時間,請使用 GetLocalTime 函式。 GetLocalTime 會根據目前的時區設定將系統時間轉換為當地時間,並將結果複製到 SYSTEMTIME 結構。 您可以使用 SetLocalTime 函式來設定系統時間。 SetLocalTime 假設您已指定當地時間,並在設定系統時間之前轉換為 UTC。
當您呼叫 SetLocalTime時,系統會使用目前的時區資訊,包括日光節約時間設定來執行轉換。 請注意,系統會使用目前時間的日光節約時間設定,而不是您設定的新時間。 因此,為了確保結果正確,請再次呼叫 SetLocalTime ,現在第一次呼叫已更新日光節約時間設定。
若要將 UTC 時間轉換為當地時間,請使用 SystemTimeToTzSpecificLocalTime 函式。 若要將當地時間轉換成 UTC 時間,請使用 TzSpecificLocalTimeToSystemTime 函式。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應