天天看點

查詢某一天是一年中的第幾天,ctime的使用

#include <iostream>
#include <ctime>  
using namespace std;

int CalcHowManyDays(unsigned int Year, unsigned int Month, unsigned int Day, unsigned int *pSumOfDays)
{
    //結構體tm初始化
    struct tm begin = { 0 };
    struct tm end = { 0 };

    //計算年份-1900
    begin.tm_year = Year - 1900;
    end.tm_year = Year - 1900;

    //計算月份-1
    begin.tm_mon = 1 - 1;
    end.tm_mon = Month - 1;

    begin.tm_mday = 1;
    end.tm_mday = Day;

    //計算秒的差,再除以一天的秒數86400,計算天數差,+1即為第幾天
    double second = difftime(mktime(&end), mktime(&begin));
    *pSumOfDays = (unsigned int)(second / 86400)+1; 
    return 0;
}
    
    
int main(){
    unsigned int SumOfDays=0;
    CalcHowManyDays(2017,7,10,&SumOfDays);
    cout<<SumOfDays<<endl;
    return 0;

}
              

轉載于:https://www.cnblogs.com/JarvisCJ/p/7144086.html