c++builder通过指定的分隔符格式化一个日期字符串

/****************************************************************************
/*    功能:通过指定的分隔符格式化一个日期字符串
/*    参数:AnsiString表示将要被格式化的日期字符串   const AnsiString表示格式的字符  AnsiString&表示格式化后的日期字符串
/*  返回值:BOOL  False表示日期字符串和分隔符字符串同时为空    true表示格式成功
/***************************************************************************/
BOOL TForm1::FormatDateStringBySeparativeSign(AnsiString strDate,const AnsiString strSepar,AnsiString& strOutDate){
        if((strDate=="") || (strSepar=="")){
                return false;
        }
        strDate.Insert(strSepar,5);
        strDate.Delete(6,1);
        strDate.Insert(strSepar,8);
        int count=0;
        if(!NumberCountInString(strDate.SubString(1,8).Trim(),count)){
                return false;
        }
        if(count==6){
                strOutDate = strDate.Delete(9,1);
        }else{
                strOutDate = strDate.Delete(7,1);
        }
        return true;

}

/****************************************************************************
/*    功能:统计一个字符串中数字的个数
/*    参数:AnsiString表示所要统计的字符串 int&表示得到的字符串中数字的个数
/*  返回值:BOOL false表示字符串为空   true表示成功
/***************************************************************************/
BOOL TForm1::NumberCountInString(AnsiString str,int& count){
        if(str==""){
              return false;
        }
        count=0;
        char *p = str.c_str();
        for(int i=0;i<str.Length();i++){
                if(p[i]>=48 && p[i]<=57){
                        count++;
                }
        }
        return True;
}

你可能感兴趣的:(c++builder通过指定的分隔符格式化一个日期字符串)