要求是这样的:
一个最大长度是6位的字符串,可能长度是1——6
将这个字符串格式化成一个6位的表示时间的串。(时分秒)
例
1-〉010000
14 -〉140000
146-〉140600
1406-〉140600
14065-〉140605
25-〉出错
aaa-〉出错
一个最大长度是6位的字符串,可能长度是1——6
将这个字符串格式化成一个6位的表示时间的串。(时分秒)
例
1-〉010000
14 -〉140000
146-〉140600
1406-〉140600
14065-〉140605
25-〉出错
aaa-〉出错
/// 主函数
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public string sToHMS(string s)
{
bool b=check(s);
if (!b)
{
return "";
}
int len = s.Length;
string ret="";
switch(len)
{
case 1:
ret=H(s)+MS("00")+MS("00");
break;
case 2:
ret=H(s)+MS("00")+MS("00");
break;
case 3:
ret=H(s.Substring(0,2))+MS(s.Substring(2,1))+MS("00");
break;
case 4:
ret=H(s.Substring(0,2))+MS(s.Substring(2,2))+MS("00");
break;
case 5:
ret=H(s.Substring(0,2))+MS(s.Substring(2,2))+MS(s.Substring(4,1));
break;
case 6:
ret=H(s.Substring(0,2))+MS(s.Substring(2,2))+MS(s.Substring(4,2));
break;
}
return ret;
} /// <summary>
/// 检查格式
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public bool check(string s)
{
if (s==null)
{
return false;
}
foreach ( char c in s )
{
if ( c < '0' || c > '9' )
return false;
}
return true;
} /// <summary>
/// 返回小时
/// </summary>
/// <param name="h"></param>
/// <returns></returns>
public string H(string h)
{
int hour =Convert.ToInt32(h);
if (hour>24)
{
return "00";
}
else
{
return hour>=10?hour.ToString():"0"+hour.ToString();
} }
/// <summary>
/// 返回分和秒
/// </summary>
/// <param name="ms"></param>
/// <returns></returns>
public string MS(string ms)
{
int minsec =Convert.ToInt32(ms);
if (minsec>59)
{
return "00";
}
else
{
return minsec>=10?minsec.ToString():"0"+minsec.ToString();
}
}