Я портирую немного PHP на C ++. Часть нашего кода базы данных хранит значения времени как метки времени Unix * 100
PHP содержит код, который выглядит примерно так:
//PHP
static function getTickTime()
{
return round(microtime(true)*100);
}
Мне нужно что-то вроде этого:
//C++
uint64_t getTickTime()
{
ptime Jan1st1970(date(1970, 1, 1));
ptime Now = microsecond_clock::local_time();
time_duration diff = Now - Jan1st1970;
return static_cast<uint64_t>(diff.total_seconds()*100);
}
Что-то вроде этого разумно? Есть ли более аккуратное решение?
Есть ли в этом коде что-то противное, чего я не вижу? (Думаю, я не достаточно опытен с boost :: date_time, чтобы знать эти вещи)