std::chrono::floor(std::chrono::duration)
Min standard notice:
Header: <chrono>
Returns the greatest duration t representable in ToDuration that is less or equal to d.
# Declarations
template< class ToDuration, class Rep, class Period >
constexpr ToDuration floor( const std::chrono::duration<Rep, Period>& d );
(since C++17)
# Parameters
d: duration to convert
# Return value
d rounded down to a duration of type ToDuration.
# Example
#include <chrono>
#include <iomanip>
#include <iostream>
int main()
{
using namespace std::chrono_literals;
std::cout << "Duration\tFloor\tRound\tCeil\n";
for (using Sec = std::chrono::seconds;
auto const d : {+4999ms, +5000ms, +5001ms, +5499ms, +5500ms, +5999ms,
-4999ms, -5000ms, -5001ms, -5499ms, -5500ms, -5999ms})
std::cout << std::showpos << d << "\t\t"
<< std::chrono::floor<Sec>(d) << '\t'
<< std::chrono::round<Sec>(d) << '\t'
<< std::chrono::ceil <Sec>(d) << '\n';
}