2018-10-01 00:06:16.700000000
У меня есть файл данных временного ряда с отметками времени, как указано выше. Мне нужно преобразовать это в наносекунды из эпохи, затем мне нужно будет добавить милли, микро или наносекунды к метке времени (сдвиг). Наконец, для выбранных записей верните его к формату, указанному выше.
У меня проблемы с созданием точки времени - и с тем, как представлять наносекунды ... Он отлично работает с микропроцессорами.
Могу я попросить некоторую помощь с фрагментом кода ниже ... а также, когда у меня есть наносекунды от эпохи - как мне вернуться к метке времени, подобной той, что указана выше.
std::string ts("23 01 2020 20:59:59.123456789");
XXXX (ts);
void XXXXX (string timestamp)
{
stringstream temp_ss(timestamp);
tm temp_time_object = {};
temp_ss >> get_time (&temp_time_object, "%Y/%m/%d %H:%M:%S");
chrono::system_clock::time_point temp_time_point = system_clock::from_time_t(mktime(&temp_time_object));
// chrono::high_resolution_clock::time_point temp_time_point1 = temp_time_point;
auto nsecs = stol (timestamp.substr (timestamp.find_first_of('.')+1,9));
// +++ This is where I GET stuck forming the time_point....
// I've tried this so many different ways ....
// Is it that the system_clock cannot accept nanos?
temp_time_point += nanoseconds (nsecs);
auto micro_from_epoch = duration_cast<nanoseconds> (temp_time_point.time_since_epoch()).count();
cout << micro_from_epoch << endl;
}