常用类, 时间转化


class CMYtime
{
private:
    inline void add_two_number(char *c,int n)
    {
        static char szBuf[3];
        szBuf[0]=(n%100)/10+'0';
        szBuf[1]=n%10+'0';
        szBuf[2]=0;
        strcat(c,szBuf);
    }    
    //格式"2006-01-17 00:02:00";
    CString turn_time_to_str(const CTime &time)
    {
        char szBuf[200];
        sprintf(szBuf,"%d-",time.GetYear());
        
        add_two_number(szBuf,time.GetMonth());
        strcat(szBuf,"-");
        add_two_number(szBuf,time.GetDay());
        strcat(szBuf," ");
        add_two_number(szBuf,time.GetHour());
        strcat(szBuf,":");
        add_two_number(szBuf,time.GetMinute());
        strcat(szBuf,":");
        add_two_number(szBuf,time.GetSecond());
        return szBuf;
    }

    int s_to_i(const char*pstr) //两位的做
    {
        int a=(pstr[0]-'0')&0xff;
        int b=(pstr[1]-'0')&0xff;
        return a*10+b;
    }
    
    CTime turn_str_to_time(const char*ptime)
    {
        2012-06-05 14:20:15
        CTime t=CTime::GetCurrentTime();
        if (ptime&&strlen(ptime)>=19)
        {
            int year=s_to_i(ptime)*100+s_to_i(&ptime[2]);
            int month=s_to_i(&ptime[5]);
            int day=s_to_i(&ptime[8]);
            int hour=s_to_i(&ptime[11]);
            int mini=s_to_i(&ptime[14]);
            int sec=s_to_i(&ptime[17]);
            
            t=CTime(year,month,day,hour,mini,sec);
        }
        return t;
    }
public:
    CMYtime(){m_t=CTime::GetCurrentTime();}
    CMYtime(const char*p){m_t=turn_str_to_time(p);}
    CMYtime(const CTime&t){m_t=t;}

    CTime get_time(){return m_t;}
    CString get_time_str(){return turn_time_to_str(m_t);}
private:
    CTime m_t;
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值