SYSTEMTIME 結構 (minwinbase.h)

指定日期和時間,使用月份、日、年、工作日、小時、分鐘、秒和毫秒的個別成員。 時間取決於所呼叫的函式,以國際標準時間 (UTC) 或當地時間。

語法

typedef struct _SYSTEMTIME {
  WORD wYear;
  WORD wMonth;
  WORD wDayOfWeek;
  WORD wDay;
  WORD wHour;
  WORD wMinute;
  WORD wSecond;
  WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;

成員

wYear

年。 此成員的有效值為 1601 到 30827。

wMonth

月份。 這個成員可以是下列其中一個值。

意義
1
January
2
二月
3
三月
4
四月
5
五月
6
六月
7
7 月
8
8 月
9
9 月
10
10 月
11
11 月
12
December

wDayOfWeek

星期幾。 這個成員可以是下列其中一個值。

意義
0
星期日
1
星期一
2
Tuesday
3
星期三
4
Thursday
5
星期五
6
星期六

wDay

當月的日期。 此成員的有效值為 1 到 31。

wHour

小時。 此成員的有效值為 0 到 23。

wMinute

分鐘。 此成員的有效值為 0 到 59。

wSecond

秒鐘。 此成員的有效值為 0 到 59。

wMilliseconds

毫秒。 此成員的有效值為 0 到 999。

備註

注意

SYSTEMTIME 不會檢查所表示日期是否為實際且有效的日期。 使用此 API 時,您應該確保其有效性,特別是在閏年案例中。 如需詳細資訊,請參閱 閏日整備

不建議從 SYSTEMTIME 結構新增和減去值,以取得相對時間。 相反地,您應該

系統可以透過與時間來源同步處理,定期重新整理時間。 因為系統時間可以向前或向後調整,所以請勿比較系統時間讀數來判斷經過的時間。 請改用 Windows Time 中所述的其中一種方法。

範例

下列範例示範 GetSystemTime 和 GetLocalTime 函式所擷取的時間值之間的差異

#include <windows.h>
#include <stdio.h>

void main()
{
    SYSTEMTIME st, lt;
    
    GetSystemTime(&st);
    GetLocalTime(&lt);
    
    printf("The system time is: %02d:%02d\n", st.wHour, st.wMinute);
    printf(" The local time is: %02d:%02d\n", lt.wHour, lt.wMinute);
}


// Sample output

The system time is: 19:34
 The local time is: 12:34

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
標頭 minwinbase.h (包含 Windows.h)

另請參閱

FILETIME

FileTimeToSystemTime

GetLocalTime

GetSystemTime

SetLocalTime

SetSystemTime

SystemTimeToFileTime

ULARGE_INTEGER