метка времени c ++ для удобочитаемой функции datetime

у меня есть простая функция, которая мне нужна, чтобы вернуть удобочитаемую дату и время из отметки времени, но каким-то образом она возвращает ту же отметку времени в секундах:

ввод 1356953890

std::string UT::timeStampToHReadble(long  timestamp)
{
    const time_t rawtime = (const time_t)timestamp;

    struct tm * dt;
    char timestr[30];
    char buffer [30];

    dt = localtime(&rawtime);
    // use any strftime format spec here
    strftime(timestr, sizeof(timestr), "%m%d%H%M%y", dt);
    sprintf(buffer,"%s", timestr);
    std::string stdBuffer(buffer);
    return stdBuffer;
}

выход 1231133812

вот как я это называю:

long timestamp = 1356953890L ;
std::string hreadble = UT::timeStampToHReadble(timestamp);
std::cout << hreadble << std::endl;

и вывод: 1231133812 и я что-то вроде этого формата: 31/1/2012 11:38:10 что мне здесь не хватает?

UTDATE:
время решения (timestr, sizeof (timestr), «% H:% M:% S% d /% m /% Y», dt);

Ответы на вопрос(1)

Ваш ответ на вопрос