用C++自定义日期格式

2 c++ format datetime date

我有这个功能:

void Log::Write(string logline){
//2011-10-12 13:07:40 correct format
    time_t rawtime;
    struct tm * timeinfo;
    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
    m_stream.write( asctime (timeinfo), 24 );
    m_stream << " - " << logline << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

2011年10月13日星期四12:35:30

但我想看看评论部分的输出:

2011-10-12 13:07:40

这怎么可能?

Dav*_*ave 5

这很有可能.查看联机帮助页strftime().在这种情况下,您需要:

void Log::Write(string line) 
{
    time_t rawtime;
    struct tm * timeinfo;
    char buffer [80];

    time ( &rawtime );
    timeinfo = localtime ( &rawtime );

    strftime (buffer,80,"%Y-%m-%d %H:%M:%S",timeinfo);
    m_stream << buffer << " - " << line << endl;
}
Run Code Online (Sandbox Code Playgroud)