Вот моя реализация
const boost::posix_time::ptime LINUX_EPOCH(boost::gregorian::date(1970,1,1));
const boost::posix_time::ptime WINDOWS_EPOCH(boost::gregorian::date(1601,1,1));
boost::posix_time::time_duration delta(WINDOWS_EPOCH - LINUX_EPOCH);
std::cout << delta.total_nanoseconds() << std::endl;
источник на wandbox ; но, как ни странно, я получаю результат
6802270473709551616
, что неверно. По данным онлайн-конвертера даты Это должно быть что-то вроде
11644473601000000000
Что я делаю не так?