biansf2001 发表于 2014-7-14 09:30:38

IARARM6.10,UTC时间转换,为啥对一个指针赋值后结果就不正...

#include <time.h>


struct tm *p,tmStruct;
time_t timep;

    p=&tmStruct;      //就是这里,如果加上这个,加上8小时转换后p的tm_hour变成0.如果注释掉,就是1.1应该是正确的。不知道为啥啊

    p->tm_sec=25;
    p->tm_min=12;
    p->tm_hour=17;
    p->tm_mday=12;
    p->tm_mon=7;
    p->tm_year=2014-1900;
    timep=mktime(p);        //将tm结构转换为秒数
    timep+=28800;        //加上8小时
    p=gmtime(&timep);        //把秒数转换为tm结构

biansf2001 发表于 2014-7-14 10:41:31

原因找到。是夏令时的原因。我没设置夏令时,结果系统判断减去了1小时
页: [1]
查看完整版本: IARARM6.10,UTC时间转换,为啥对一个指针赋值后结果就不正...