У меня есть строка с датой вроде YYYYMMDD HHMMSSFFF
. Я пытаюсь использовать библиотеку дат Говарда Хиннаца. Фрагмент кода такой,
std::chrono::system_clock::time_point tp;
char date[20] = {0};
std::istringstream ss{date};
ss >> date::parse("%Y%m%d %H%M%S%s", tp);
long ts = (std::chrono::time_point_cast<std::chrono::nanoseconds>(tp)
.time_since_epoch() /
std::chrono::nanoseconds(1));
Но этот код не читает секунду FFF
. Я просмотрел документацию здесь , и там говорится, что %s
представляет дробную часть второго раза. Пример значения для даты 20170110 103648340
. Но когда я вывожу ts
, я получаю 0. Если вам интересно, почему я конвертирую в наносекунды, это потому, что мне нужна дата в наносекундах для других операций.