C++ 的字符串和时间类型转换

来源:互联网 发布:win7原版优化 编辑:程序博客网 时间:2024/05/22 04:43

1.指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串
void FormatTime(time_t time1, char *szTime)
{
        struct tm tm1;

#ifdef WIN32
        tm1 = *localtime(&time1);
#else
        localtime_r(&time1, &tm1 );
#endif
        sprintf( szTime, "%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d",
                     tm1.tm_year+1900, tm1.tm_mon+1, tm1.tm_mday,
                         tm1.tm_hour, tm1.tm_min,tm1.tm_sec);
}

 

2.指定YYYYMMDDHH24MISS型的时间,格式化为time_t型的时间
time_t FormatTime2(char * szTime)
{
        struct tm tm1;
        time_t time1;

        sscanf(szTime, "%4d%2d%2d%2d%2d%2d",    
                     &tm1.tm_year,
                     &tm1.tm_mon,
                     &tm1.tm_mday,
                     &tm1.tm_hour,
                     &tm1.tm_min,
                     &tm1.tm_sec);
              
        tm1.tm_year -= 1900;
        tm1.tm_mon --;

        tm1.tm_isdst=-1;
   
        time1 = mktime(&tm1);
        return time1;
}

阅读全文
0 0