C++中代码获取时间,显示的时间会和系统时间不同?
#include<iostream.h>#include<windows.h>
void main()
{
SYSTEMTIME time;
GetSystemTime(&time);
int year,month,day,hour,minute,second;
year=time.wYear;
month=time.wMonth;
day=time.wDay;
hour=time.wHour;
minute=time.wMinute;
second=time.wSecond;
cout<<year<<" 年 "<<month<<" 月"<<day<<"日"<<hour<<"时"<<minute<<"分"<<second<<"秒"<<endl;
}
呵呵是不是很奇怪呀?实际上并不奇怪,因为中国(位于东八区)和英国的时差为8个小时,北京时间比格林威治时间早8小时。所以用“hour=time.wHour”取时间时还得加上时差的8小时。如下图所示:
或者将GetSystemTime()改为GetLocalTime()就可以……
页:
[1]