Re: chrono time_point_cast, to_time_t
От: sokel Россия  
Дата: 05.02.18 20:39
Оценка:
Здравствуйте, sokel, Вы писали:

S>Как считаете, правильно ли ведут себя эти функции?

S>Внутри они используют что-то вроде duration_cast<seconds>. Но в случае большей точности это значит что функция немного по разному обрабатывает время до и после epoch.
S>Для отрицательных значений это будет ceil, а для положительных floor:

S>1969-12-31T23:59:59.5 -> 1970-01-01T00:00:00

S>1970-12-31T23:59:59.5 -> 1970-12-31T23:59:59

Хотя можно же использовать to_time_t(floor<seconds>(t)).
Тогда другой вопрос, в структурах типа timespec или protobuf timestamp, предполагающих представление в виде { posix_sec, nanoseconds } какое представление будет более канонично, { 0s, -900ms } или { -1s, 100ms }? Знаковый тип в обоих примерах допускает оба представления.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.