我正在为我的C类课程工作,我的同事们。我们有一个问题,我们需要获取从结构获取的日期之间的差异。我制作的功能[[只能在我的Mac上运行,但在Windows上却无法运行。,结果我们随时为“ 0”。有谁知道为什么?谢谢,塞尔吉奥。这里是代码...
void timeDiff(){
struct tm ts;
char buf[80];
long rawtime =0;
int i=0;
int k=0;
int j=0;
for (i=0; i<1; i++) {
for(j=0; j< 1; j++){
for(k=0; k<3; k++){
struct tm end;
end.tm_mday=region[i].hospital[j].sickregion[k].dateHealing.day;
end.tm_mon=region[i].hospital[j].sickregion[k].dateHealing.month;
end.tm_year=region[i].hospital[j].sickregion[k].dateHealing.year;
struct tm start;
start.tm_mday=region[i].hospital[j].sickregion[k].dateDiagnosis.day;
start.tm_mon=region[i].hospital[j].sickregion[k].dateDiagnosis.month;
start.tm_year=region[i].hospital[j].sickregion[k].dateDiagnosis.year;
rawtime = difftime(mktime(&end), mktime(&start)) ;
ts = *localtime(&rawtime);
}
}
}
strftime(buf, sizeof(buf), "%j", &ts);
printf("%s\n", buf);
}
struct tm start = {0};
tm_mday
,tm_mon
和tm_year
不是结构tm中的唯一字段。