mysql time_t与MYSQL_TIME的转换

来源:互联网 发布:童装店收银软件 编辑:程序博客网 时间:2024/05/16 13:43
void Convert_mysql_timestamp_to_time_t(MYSQL_TIME *ts, time_t *ttDate){    
if (!*(char *)(ts)) {        
    *ttDate = 0;        
    return;    }        
 gmtime (ttDate);    
 
 tm *a_tm_struct = localtime (ttDate);    
 a_tm_struct->tm_year = ts->year - 1900;    
 a_tm_struct->tm_mon = ts->month - 1;    
 a_tm_struct->tm_mday = ts->day;    
 a_tm_struct->tm_hour = ts->hour;    
 a_tm_struct->tm_min = ts->minute;    
 a_tm_struct->tm_sec = ts->second;    
 *ttDate = mktime(a_tm_struct);}
 
 
 void Convert_time_t_to_mysql_timestamp(time_t *ttDate, MYSQL_TIME *ts){    
 if (!*ttDate) {        memset(ts, 0, sizeof(MYSQL_TIME));        
 return;    }    struct tm *a_tm_struct = gmtime(ttDate);    
 ts->year = a_tm_struct->tm_year + 1900;    
 ts->month = a_tm_struct->tm_mon + 1;    
 ts->day = a_tm_struct->tm_mday;    
 ts->hour = a_tm_struct->tm_hour;    
 ts->minute = a_tm_struct->tm_min;
 ts->second = a_tm_struct->tm_sec;

 }



void get_wtime(const char *timestr,time_t *timedigit)
{
    struct tm      worktm;
    int            ret;

    bzero(&worktm,sizeof(worktm));

    if (timestr == NULL)
        return;

    if ((ret =sscanf(timestr,"%d-%d-%d/%d:%d:%d",
                     &worktm.tm_year,&worktm.tm_mon,&worktm.tm_mday,
                     &worktm.tm_hour,&worktm.tm_min,&worktm.tm_sec)) != 6)
        return;

    worktm.tm_year -= 1900;
    if ( worktm.tm_mon )
        worktm.tm_mon  -= 1;

    if ((*timedigit = mktime(&worktm)) == -1)
        return;

    return;
 }

摘自:http://www.gamedev.net/topic/399702-tm-to-time_t/


原创粉丝点击