當地時間
雖然系統在內部使用 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 函式。