c - 获取两个日期之间的天数差异?

标签 c date time

比较两天时,我没有得到正确的日期。在这里,对于 dd=14,mm=8,yy=2014

,我得到 699 天而不是 730 天
time_t t1, t2;
struct tm my_target_date;

 my_target_date.tm_sec = 0;
 my_target_date.tm_min = 0;
 my_target_date.tm_hour = 0;
 my_target_date.tm_mday = 14;
 my_target_date.tm_mon = 8;
 my_target_date.tm_year = 112; /* Date today */
 t1 = mktime (&my_target_date);
 t2 = time (NULL);
 sprintf (sbuff2,"Number of days since target date : %ld\n", (t2 - t1) / 86400);

最佳答案

struct tm中,

int tm_mday; // day of the month — [1, 31]
int tm_mon; // months since January — [0, 11]

tm_mday1 开始,但是 tm_mon0 开始。因此 my_target_date.tm_mon = 8; 实际上是九月,你还有一个月的假期。

关于c - 获取两个日期之间的天数差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25304982/

相关文章:

c - 链接列表中的元素没有被删除

java - Java 中 ORACLE 函数 MONTHS_BETWEEN 的模拟

javascript - 如何在 chrome 浏览器和 firefox 浏览器中验证日期

Python readlines Api 从串口访问时需要很长时间

C编程: why are my decimals not displaying & how do I define black spaces

c - 我的程序不会按条件停止

c - pow 函数的奇怪行为

sql - 在特定日期之前查询没有值

powershell - 将时间 121.419419 转换为可读的分钟/秒

python - 如何在 Google App Engine 中获取当前英国时间