一只不睡觉的水壶 2023-10-13 11:14 采纳率: 94.1%
浏览 0
已结题

怎么样用C语言计算日期

如何用C语言计算日期,例如我定义一个数字20230422代表2023年四月22日,在输入一个日期相同类型的数日例如20291122,20230531,计算他们与20230422之间隔多少天

  • 写回答

2条回答 默认 最新

  • 柯本 2023-10-13 11:30
    关注

    可用它自身的函数,参考:

    #include <stdio.h>
    #include <time.h>
    time_t gettime(int y, int m, int d) //转换格式
    {
      struct tm tm_;
      time_t t;
      tm_.tm_year = y - 1900; //年
      tm_.tm_mon = m - 1;     //月
      tm_.tm_mday = d;        //日
      tm_.tm_hour = 0;        //时
      tm_.tm_min = 0;         //分
      tm_.tm_sec = 0;         //秒
      tm_.tm_isdst = 0;       //夏令时
      t = mktime(&tm_);       //生成时间
      return t;
    }
    int main()
    {
      const struct tm *tm;
      time_t t, t1, dif;
      char str[20];
      int y, m, d;
      printf("输入日期一:\n");
      scanf("%4d%2d%2d", &y, &m, &d);
      printf("输入日期二:\n");
      t = gettime(y, m, d);
      scanf("%4d%2d%2d", &y, &m, &d);
      t1 = gettime(y, m, d);
      dif = difftime(t1, t); //与输入时间差,秒数
      printf("两个日期相差%d天\n", dif / (3600 * 24));
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月13日

悬赏问题

  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊