tm与time

    技术2022-05-19  20

    struct tm GetDayTime(time_t time)

    {

    struct tm * ptimeDetail;

    struct tm timeDetail;

     

    ptimeDetail = localtime ( &time ); 

    memcpy(&timeDetail, ptimeDetail, sizeof(tm));

     

    return timeDetail;

    }

     

    time_t GetDayTime(struct tm timeDetail)

    {

    time_t timeResult = 0;

     

    if( (timeResult = mktime( &timeDetail )) != (time_t)-1 )//time_t mktime(strcut tm * timeptr);

    //mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数

    {

    return timeResult;

    }

    else

    {

    return 0;

    }

    }

     

    bool IsSameDay(time_t time1, time_t time2)

    {

    struct tm * ptimeDetail;

    struct tm timeDetail1;

    struct tm timeDetail2;

     

    ptimeDetail = localtime ( &time1 );  //函数返回本地日历时间

    memcpy(&timeDetail1, ptimeDetail, sizeof(tm));

     

    ptimeDetail = localtime ( &time2 ); 

    memcpy(&timeDetail2, ptimeDetail, sizeof(tm));

     

    if( timeDetail1.tm_year == timeDetail2.tm_year && timeDetail1.tm_mon == timeDetail2.tm_mon

    && timeDetail1.tm_mday == timeDetail2.tm_mday)

    {

    return true;

    }

    else

    {

    return false;

    }

    }

     

    bool IsBirthday(time_t time1, time_t time2)

    {

    struct tm * ptimeDetail;

    struct tm timeDetail1;

    struct tm timeDetail2;

     

    ptimeDetail = localtime ( &time1 ); 

    memcpy(&timeDetail1, ptimeDetail, sizeof(tm));

     

    ptimeDetail = localtime ( &time2 ); 

    memcpy(&timeDetail2, ptimeDetail, sizeof(tm));

     

    if( timeDetail1.tm_mon == timeDetail2.tm_mon && timeDetail1.tm_mday == timeDetail2.tm_mday)

    {

    return true;

    }

    else

    {

    return false;

    }

     

     

     


    最新回复(0)