您的位置:首页 > 编程语言 > C语言/C++

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

2017-06-22 16:54 239 查看
/****************************************************************************
/*    功能:通过指定的分隔符格式化一个日期字符串
/*    参数: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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐