关于日期计算

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:07:39
从1991年1月29日到2007年4月19日一共多少天?

5917天 考虑了闰年
  我是用程序算的

  #include<iostream.h>
  static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};
  class date
  {
  int yr,mo,da;
  public:
  date(int y,int m,int d)
  {
  yr=y; mo=m; da=d;
  }
  date() {}
  void disp()
  {
  cout<<yr<<"年"<<mo<<"月"<<da<<"日"<<endl;
  }
  date operator + (int day)
  {
  date dt=*this;
  day+=dt.da;
  while (day>dys[dt.mo-1])
  {
  day-=dys[dt.mo-1];
  dt.mo++;
  if (dt.mo==13)
  {
  dt.mo==1;
  dt.yr++;
  }
  }
  dt.da=day;
  return dt;
  }
  date operator - (int day)
  {
  date dt=*this;
  day=dt.da-day;
  while (day<=0)
  {
  day+=dys[dt.mo-1];
  dt.mo--;
  if (dt.mo==0)
  {
  dt.mo=12;
  dt.yr--;
  }
  }
  dt.da=day;