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
月 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
January |
|
Ferbruary |
|
3 月 |
|
April |
|
May |
|
6 月 |
|
7 月 |
|
8 月 |
|
September |
|
10 月 |
|
November |
|
12 月 |
wDayOfWeek
曜日 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
土曜日 |
|
月曜日 |
|
Tuesday |
|
水曜日 |
|
Thursday |
|
金曜日 |
|
土曜日 |
wDay
月の日。 このメンバーの有効な値は 1 から 31 です。
wHour
時 このメンバーの有効な値は 0 から 23 です。
wMinute
分。 このメンバーの有効な値は 0 から 59 です。
wSecond
2 番目の 。 このメンバーの有効な値は 0 から 59 です。
wMilliseconds
ミリ秒。 このメンバーの有効な値は 0 から 999 です。
注釈
注意
SYSTEMTIME では、表される日付が実際の有効な日付であるかどうかを確認するチェックはありません。 この API を使用する場合は、特に閏年のシナリオでその有効性を確保する必要があります。 詳細については、「 うるう日の準備」 を参照してください。
相対時間を取得するために 、SYSTEMTIME 構造体の値を加算および減算することはお勧めしません。 代わりに、次を行う必要があります。
- SYSTEMTIME 構造体を FILETIME 構造体に変換します。
- 結果の FILETIME 構造体を ULARGE_INTEGER 構造体にコピーします。
- ULARGE_INTEGER値には、通常の 64 ビット算術演算を使用します。
例
次の例では、GetSystemTime 関数と GetLocalTime 関数によって取得される時間値の違いを示します。
#include <windows.h>
#include <stdio.h>
void main()
{
SYSTEMTIME st, lt;
GetSystemTime(&st);
GetLocalTime(<);
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 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
Header | minwinbase.h (Windows.h を含む) |