[转载]计算日期差

    科技2026-02-26  6

    (找不到首发来源了,所以发了原创) countDay()返回到公元1年1月1日的日期差。

    #include<iostream> #include<cstdio> using namespace std; int countDays(int y, int m, int d){ if(m < 3) y --, m += 12; return 365 * y + (y >> 2) - y / 100 + y / 400 + (153 * m - 457) / 5 + d - 306; } int main(){ int year, month, day; scanf("%d-%d-%d", &year, &month, &day); printf("%d\n", countDays(year, month, day) - countDays(1949, 10, 1)); return 0; }
    Processed: 0.011, SQL: 9