获取window系统时间不正确问题

补充代码如下:
该代码段是放在一个线程中,每隔5秒执行一次,只要程序在运行过程中,我手动去修改系统(window)的时区(比如由东8区改成东9区),程序获取到的时间还是我修改时区之前的时间,但是这时只要程序退出后再起来就能获取到修改时区后的时间,你们也可以写个小程序去验证下。
time_t t = time(NULL);
struct tm *pTm = localtime(&t);
char chTemp[256]={ 0 };
sprintf_s(chTemp, "SetTime,Date[%d.%02d.%02d],Time[%02d:%02d:%02d]", pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday, pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
char szLog[1024] = {0};
sprintf(szLog, "时间同步:%s", chTemp);

http://jingyan.baidu.com/article/456c463b6c4e240a5831441e.html