我有一个以字符串作为参数的类。我需要以MM/DD/YYYY
的格式打印出日期。输入可以是例如:03242014或3242014.
我认为使用SubString()
功能会起作用,但我不确定如何。有什么建议吗?
答案 0 :(得分:0)
有点晚了,但使用substr
解决问题的方法可能如下:
//formatDate(date)
//IN: str or int of form: 01234567 or 1234567
//OUT: str of form: 23/01/4567
string formatDate(const string& date)
{
string ret = date;
if(date.length() == 8)
{
ret = date.substr(0,2) + '/' +
date.substr(2,2) + '/' +
date.substr(4);
}
else if(date.length() == 7)
{
ret = '0' + date.substr(0,1) + '/' +
date.substr(1,2) + '/' +
date.substr(3);
}
return ret;
};
string formatDate(int i)
{
return formatDate(to_string(i));
}
请注意以下内容:
cout << formatDate("03242014") <<'\n'
<< formatDate("3242014") <<'\n'
<< formatDate(3242014) <<'\n';
,同时:
cout << formatDate(03242014) <<'\n'
不会03242014
表示octal number。