Win32 API で2組の関数が用意されています。
-
GetLocalTime
SetLocalTime
Windowsの時計で表示されている年月日を取得・設定できます。
↑は時計を見たまんまです。 -
GetSystemTime
SetSystemTime
グリニッジ標準時を取得・設定できます。
日本なら9時間前です。
だって、BIOSの時計は地域情報無しで普通に日本時間に合わせていますから。
例によってサンプルです。
#include <windows.h>
#include <stdio.h>
void ShowSystemTime(SYSTEMTIME systime);
int main()
{
void ShowSystemTime(SYSTEMTIME systime)
{
#include <stdio.h>
void ShowSystemTime(SYSTEMTIME systime);
int main()
{
SYSTEMTIME systime;
//現在日時の取得
GetLocalTime(&systime);
ShowSystemTime(systime);
//システム日時の取得
GetSystemTime(&systime);
ShowSystemTime(systime);
//システム日時の設定
systime.wYear--; //1年さかのぼる
SetSystemTime(&systime);
//システム日時の取得&確認表示
GetSystemTime(&systime);
ShowSystemTime(systime);
return 0;
}//現在日時の取得
GetLocalTime(&systime);
ShowSystemTime(systime);
//システム日時の取得
GetSystemTime(&systime);
ShowSystemTime(systime);
//システム日時の設定
systime.wYear--; //1年さかのぼる
SetSystemTime(&systime);
//システム日時の取得&確認表示
GetSystemTime(&systime);
ShowSystemTime(systime);
return 0;
void ShowSystemTime(SYSTEMTIME systime)
{
char *week[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
printf("%d/%d/%d(%s) %d:%d:%d'%d\n",systime.wYear
}printf("%d/%d/%d(%s) %d:%d:%d'%d\n",systime.wYear
,systime.wMonth
,systime.wDay
,week[systime.wDayOfWeek]
,systime.wHour
,systime.wMinute
,systime.wSecond
,systime.wMilliseconds
);
,systime.wDay
,week[systime.wDayOfWeek]
,systime.wHour
,systime.wMinute
,systime.wSecond
,systime.wMilliseconds
);