源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C++实现两个日期间差多少天的解决方法

  • 时间:2022-08-02 22:00 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C++实现两个日期间差多少天的解决方法
计算原理是先求出每个日期距离1年1月1日的天数差值,再进一步做差即可。
[u]复制代码[/u] 代码如下:
#include <stdio.h> struct MyDate {  int year;  int month;  int day; }; int GetAbsDays(MyDate x) {  int i;  int month_day[] = {31,28,31,30,31,30,31,31,30,31,30,31};  int year = x.year-1;  // 因为欲求距离1年1月1日的距离  int days = year * 365 + year/4 - year/100 + year/400;  //求得之前闰年的数量并在天数上进行想加  if(x.year%4==0 && x.year0!=0 || x.year%400==0) month_day[1]++; //当前年为闰年,二月加 1  for(i=0; i<x.month-1; i++)   days += month_day[i];  days += x.day-1;  //今天应该是不算如天数计数  return days; } int GetDiffDays(MyDate a, MyDate b) {  return GetAbsDays(b) - GetAbsDays(a); } int main(int argc, char* argv[]) {  MyDate a = {1842,5,18};  MyDate b = {2000,3,13};  int n = GetDiffDays(a,b);  printf("%d\n", n); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部