Мне нужно получить время согласно rfc3339 со смещением часового пояса.
В настоящее время у меня есть:
#include <iostream>
#include <ctime>
#include <iomanip>
int main(int argc, char **argv)
{
auto t = std::time(nullptr);
auto tm = *std::localtime(&t);
std::ostringstream oss;
oss << std::put_time(&tm, "%Y-%m-%dT%H-%M-%S%z");
std::cout << oss.str() << std::endl;
return 0;
}
Но у результатов есть одна незначительная проблема, время:
2019-01-10T10-19-31 + 0100
Но это должно быть:
2019-01-10T10-19-31 + 01: 00
Я проверил документацию:
https://en.cppreference.com/w/cpp/io/manip/put_time
и, кажется, нет способа указать двоеточие во временном смещении.
Есть ли способ сделать это с помощью c ++ 11 std :: put_time или с помощью чего-то еще c ++ stl обеспечивает