我写的一个给time_t赋值的小函数

我写的一个给time_t赋值的小函数

//========================================
// 功能:将固定格式的时间转化为 time_t 日历时间
//        eg. 1970-01-01 00:00:00  = 0
//========================================
time_t GetTime_t(char* Buf)
{
   
int iYear=0,iMonth=0,iDay=0,
        iHour
=0,iMinute=0,iSecond=0;

   
//获得年,月,日
    char *pTmp,szBuf[21]="";
    _tcscpy(szBuf,Buf);
    pTmp
=_tcsstr(szBuf,"-");
   
char szYear[5]="",szMonth[3]="",szDay[3]="";
   
char* p=szBuf,*p1=szYear;
   
while (p != pTmp)
    {   
*p1=*p;p++;p1++;
    }

   
*pTmp=',';
    pTmp
=_tcsstr(szBuf,"-");
    p1
=szMonth;p++;
   
while (p != pTmp){
       
*p1=*p;p++;p1++;
    }

   
*pTmp=',';
    pTmp
=_tcsstr(szBuf," ");
    p1
=szDay;p++;
   
while (p != pTmp){
       
*p1=*p;p++;p1++;
    }

   
//获得时间
    char szHour[3]="",szMinute[3]="",szSecond[3]="";
   
*pTmp=',';
    pTmp
=_tcsstr(szBuf,":");
    p1
=szHour;p++;
   
while (p != pTmp){
       
*p1=*p;p++;p1++;
    }
   
       
*pTmp=',';
    pTmp
=_tcsstr(szBuf,":");
    p1
=szMinute;p++;
   
while (p != pTmp){
       
*p1=*p;p++;p1++;
    }
       
*pTmp=',';
    pTmp
=_tcsstr(szBuf,":");
    p1
=szSecond;p++;
   
while (p != pTmp && *p != '/0'){
       
*p1=*p;p++;p1++;
    }

    iYear
=atoi(szYear);iMonth=atoi(szMonth),iDay=atoi(szDay);
    iHour
=atoi(szHour),iMinute=atoi(szMinute),iSecond=atoi(szSecond);

   
struct tm t;
    time_t t_of_day;
    t.tm_year
=iYear-1900;
    t.tm_mon
=iMonth-1;
    t.tm_mday
=iDay;
    t.tm_hour
=iHour;
    t.tm_min
=iMinute;
    t.tm_sec
=iSecond;
    t.tm_isdst
=0;
    t_of_day
=mktime(&t);
    
   
return t_of_day;
}

调用格式:

 time_t t;
  //t=GetTime_t("2010-01-28 16:41:31");
  t=GetTime_t("1970-01-01 01:00:00");
  cout<<"time: "<<t<<endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值