В С++ 11 вам все равно придется использовать std::localtime и std::gmtime в качестве косвенной печати для печати std::chrono::time_point. Эти функции небезопасны для использования в многопоточной среде, как это было введено с С++ 11, потому что они возвращают указатель на внутреннюю статическую структуру. Это особенно раздражает, так как С++ 11 представил удобную функцию std::put_time, которая почти непригодна для использования по той же причине.
Почему это так фундаментально сломано или я что-то упускаю?