Подтвердить что ты не робот

Boost.Chrono против Boost.Date_Time

С Boost версии 1.47 была представлена ​​библиотека Chrono. Это Boost.Chrono означает замену Boost.Date_Time?

Если нет, каковы различия между ними и когда я должен использовать их?

Когда следует рассмотреть возможность замены Boost.Date_Time на Boost.Chrono в существующем проекте?

4b9b3361

Ответ 1

Из документации Boost.Chrono:

Boost.Chrono стремится внедрить новые временные объекты в С++ 0x, как предлагается в N2661 - The Foundation to Sleep On. Этот документ обеспечивает основу и мотивацию для ключевых проектных решений и является источником большой информации в этой документации.

В частности, Boost.DateTime - это, ну, даты и время. Он имеет множество функций для форматирования дат для отображения в соответствии с локалями и другими вещами. Но есть также функции для получения дат и времени, а также для их работы.

Boost.Chrono, похоже, сосредоточен на работе с временными интервалами. Он не имеет измерения выше, чем "часы", и он вообще не имеет понятия даты. Действительно, моменты времени поддерживаются только как смещения в определенный момент времени (время с момента начала процесса, время с фиксированной "эпохи", как 1 января 1970 года и т.д.).

Оба кажутся взаимодополняющими, а не конкурирующими, хотя есть некоторое перекрытие. Существует много того, что DateTime делает, что Chrono не делает, и есть некоторые вещи, которые Chrono делает с этим DateTime. К сожалению, между ними нет никакого взаимодействия, поэтому нужно будет вручную преобразовать длительность хронографа в эквивалент DateType.