wy-ei
4/11/2016 - 2:57 AM

求两个日期间相差的天数

int CDate::operator-(const CDate d)const{  
    int days;  
    int nm  = (_Month + 9) % 12;     //  
    int ny = _Year - nm / 10;  
    int nd = 365 * ny + ny / 4 - ny / 100 + ny / 400 + (nm * 306 + 5) / 10 + (_Day - 1);  
  
    int nm1 = (d._Month + 9) % 12;  
    int ny1 = d._Year - nm1 / 10;  
    int nd1 = 365 * ny1 + ny1 / 4 - ny1 / 100 + ny1 / 400 + (nm1 * 365 + 5) / 10 + (d._Day - 1);  
  
    days = nd - nd1;  
  
    return days;  
}