两个日期之间的C语言差异

问题描述 投票:0回答:1

我正在为我的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); }
c windows macos compatibility
1个回答
0
投票
初始化变量

struct tm start = {0};

tm_mdaytm_montm_year不是结构tm中的唯一字段。
© www.soinside.com 2019 - 2024. All rights reserved.