Форматирование строки в формат даты

У меня есть класс, который принимает строку в качестве параметра. Мне нужно распечатать дату в формате MM/DD/YYYY, Ввод может быть exmaple: 03242014 или 3242014.

Я думал, используя SubString() функция будет работать, но я не уверен, как. Какие-либо предложения?

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 обозначает восьмеричное число.

0

Другие решения

Других решений пока нет …