Есть ли программный и удобный способ конвертировать из C++11
или же Boost's
Chorno
в Quantlib's
формат даты класса?
Я почти ничего не знаю о формате класса даты Квантлиба. Однако быстрый поиск показал, что он использует 1899-12-31 как день 0, свою эпоху.
Хотя это не указано в C ++ 11, все реализации, которые я знаю для std::chrono::system_clock::time_point
использует 1970-01-01 как день 0 эпохи. И между этими двумя эпохами ровно 25 568 дней.
Эта бумага:
Содержит алгоритмы для преобразования троек год / месяц / день в и из числа дней до и после 1970-01-01. Используя эти алгоритмы, я полагаю, что вы можете сместить эпоху на 25 568 дней, чтобы преобразовать количество дней между одной эпохой и другой, и впоследствии обеспечить преобразование, которое вы ищете. Но это решение по принципу «сделай сам», а не в готовом виде.
Других решений пока нет …