计算两个日期间隔的天数

蔚落 2022-07-15 07:53 380阅读 0赞
  1. #include<stdio.h>
  2. int main()
  3. {
  4. //以1年1月1日为基准
  5. int y,m,d,n,yy,mm,dd,p,s,yi,mi,r=0;
  6. int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  7. scanf("%d%d%d",&y,&m,&d);
  8. for(yi=4;yi<y;yi++)
  9. if((yi%4==0&&yi%100!=0)||yi%400==0)
  10. r++;
  11. p=r*366+(y-2-r)*365;
  12. for(mi=1;mi<m;mi++)
  13. p=p+a[mi];
  14. p=p+d;
  15. if(((y%4==0&&y%100!=0)||y%400==0)&&m>=3)
  16. p++;
  17. scanf("%d",&n);
  18. while(scanf("%d%d%d",&yy,&mm,&dd)!=EOF)
  19. {
  20. s=0,r=0;
  21. for(yi=4;yi<yy;yi++)
  22. if((yi%4==0&&yi%100!=0)||yi%400==0) r++;
  23. s=r*366+(yy-2-r)*365;
  24. for(mi=1;mi<mm;mi++)
  25. s=s+a[mi];
  26. s=s+dd;
  27. if(((yy%4==0&&yy%100!=0)||yy%400==0)&&mm>=3)
  28. s++;
  29. printf("%d\n",s-p);
  30. }
  31. return 0;
  32. }

发表评论

表情:
评论列表 (有 0 条评论,380人围观)

还没有评论,来说两句吧...

相关阅读