#include <iostream>
#include <cstring>
 
int main() {
    const char *str_time = "20160907-05:00:54.123";
    unsigned int year, month, day, hour, minute, second, miliseconds;
    
    if (std::sscanf(str_time, "%4u%2u%2u-%2u:%2u:%2u.%3u", 
        &year, &month, &day, &hour, &minute, &second, &miliseconds) != 7) 
    {
     	std::cout << "Parse failed" << std::endl;
    } 
    else
    {
     	std::cout << year << month << day << "-" << hour << ":" << minute << ":"
     	          << second << "." << miliseconds << std::endl;
    }
}