CTime t(year,month,date,hour,min,sec)

解决方案 »

  1.   

    int iSec=3129;
    要求转换出的结果是 52:09
    怎么写?
      

  2.   

    提供给你一个函数,此函数非常简单,你稍加修改就可以用到自己的系统上了。
    此函数提供以下功能:它将下列格式的字符串转成CTime类型
    (1) HH:MM:SS
    (2) YYYY-MM-DD HH:MM:SS
    (3) 如不符合上述格式,则以当前时刻为准CTime String2Time(CString s)
    {
        int iY,iMon,iD,iH,iM,iSS;
        int len;
        len=s.GetLength();
        if(len=8)
        {
            CTime t1;
            t1=CTime::GetCurrentTime();
            iY=t1.GetYear();
            iMon=t1.GetMonth();
            iD=t1.GetDay();
            CString h,m,ss;
            h=s.Mid(0,2);
            iH=atoi(h);
            m=s.Mid(3,2);
            iM=atoi(m);
            ss=s.Mid(6,2);
            iSS=atoi(ss);
        }
        else if(len=19)
        {
            CString y,mon,d,h,m,ss;
            y=s.Mid(0,4);
            iY=atoi(y);
            mon=s.Mid(5,2);
            iMon=atoi(mon);
            d=s.Mid(8,2);
            iD=atoi(d);
            h=s.Mid(11,2);
            iH=atoi(h);
            m=s.Mid(14,2);
            iM=atoi(m);
            ss=s.Mid(17,2);
            iSS=atoi(ss);
        }
        else
        {
            CTime t2;
            t2=CTime::GetCurrentTime();
            iY=t2.GetYear();
            iMon=t2.GetMonth();
            iD=t2.GetDay();
            iH=t2.GetHour();
            iM=t2.GetMinute();
            iSS=t2.GetSecond();
        }
        CTime t(iY,iMon,iD,iH,iM,iSS);
        return t;
    }