我試圖用mktime
和difftime
來計算兩個日期之間的日期差異。其中一個日期是另一個struct
內的struct tm
,另一個日期是main
內部的struct tm
。 mktime
正常工作main
內的日期,但在struct
內保持返回-1的日期。 我想我忽略瞭如何訪問struct
中的struct
,但我無法找到答案。提前致謝。struct tm在另一個struct中 - c
的代碼如下
#include <stdio.h>
#include <time.h>
struct consulta_cand {
struct tm nascimento;
};
int main(void)
{
struct consulta_cand candidato;
time_t now;
struct tm final2012;
double timeprint;
now = time(NULL);
final2012 = *localtime(&now);
final2012.tm_mday = 28;
final2012.tm_mon = 10 - 1;
final2012.tm_year = 2012 - 1900;
final2012.tm_hour = 23;
final2012.tm_min = 59;
final2012.tm_sec = 59;
timeprint = mktime(&final2012);
printf("%.f\n", timeprint);
candidato.nascimento = *localtime(&now);
candidato.nascimento.tm_mday = 14;
candidato.nascimento.tm_mon = 10 - 1;
candidato.nascimento.tm_year = 1967 - 1900;
candidato.nascimento.tm_hour = 0;
candidato.nascimento.tm_min = 0;
candidato.nascimento.tm_sec = 0;
timeprint = mktime(&candidato.nascimento);
printf("%.f\n", timeprint);
return 0;
}
你在測試哪個操作系統? – alk
Windows 7,帶有TDM-GCC 64位 –