mysql time_t与MYSQL_TIME的转换

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/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值