admin 发表于 2010-4-10 22:05:36

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]
查看完整版本: C++中代码获取时间,显示的时间会和系统时间不同?