关于time的问题,朋友们帮帮忙啊...
小弟在嵌入式目标板上使用time函数发现时间错误啊,和GMT时间相差了8个小时.
time_t now;
(void) time(&now);
printf( "%s\n ",ctime(&now));
=================================
假如现在本地时间是 Apr 12 12:00:00 2007,
则打印结果却是 Apr 12 04:00:00 2007
=================================
请问time函数是如何获得系统日期的?这个问题可能原因有哪些阿?谢谢了~~~
------解决方案--------------------寒,不懂,有没有分拿?
------解决方案--------------------time拿到是本地系统时间,系统初始化时候有默认值,若取GMT标准时间,需要NTP Client同步才行啊。
------解决方案--------------------用localtime_r 这个函数将你用time函数取得的时间转换民本地时间。就可以支持任何区域的时限自动翻译了。
------解决方案--------------------时区问题!
给你个参考:
int main(){
char *wday[]={ "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat "};
time_t timep;
struct tm *p;
time(&timep);
p=localtime(&timep);
printf ( "%d%d%d ", (1900+p-> tm_year),(l+p-> tm_mon), p-> tm_mday);
printf( "%s %d:%d:%d\n ", wday[p-> tm_wday],p-> tm_hour, p-> tm_min, p-> tm_sec);
return 0;
}