c++ 17 之前的 std::chrono::ceil 替代品

ran*_*shu 6 c++ c++-chrono c++17

std::chrono:ceilc++ 17 之前的 c++ 版本是否有替代方案?

我想将 time_point 舍入到它的分钟上限(即最近的分钟)。

https://en.cppreference.com/w/cpp/chrono/duration/ceil

std::chrono::time_point<std::chrono::system_clock> time_point_now = std::chrono::system_clock::now();

auto start_time = std::chrono::ceil<std::chrono::minutes>(time_point_now);
...
Run Code Online (Sandbox Code Playgroud)

How*_*ant 4

是的,std::chrono::ceil在标准化之前进行了广泛的现场测试,以证明其有用性。该现场测试实现仍然可以作为免费、开源、仅头文件的库使用,该库可与 C++11/14 配合使用

#include "date/date.h"
#include <chrono>

int
main()
{
    auto time_point_now = std::chrono::system_clock::now();
    auto start_time = date::ceil<std::chrono::minutes>(time_point_now);
}
Run Code Online (Sandbox Code Playgroud)