首页 > 解决方案 > std::chrono 比较没有日期

问题描述

    std::chrono::time_point<std::chrono::system_clock> from_time={};
    std::tm tm{};
    istringstream iss{input_string};
    err = !(iss >> std::get_time(&tm, "%R"));
    from_time += std::chrono::seconds(std::mktime(&tm));

我可以将像“19:00”这样的字符串转换为时间点(然后是过去的某个日期)

但我不在乎约会。

接下来我想获取当前时间

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

但是这里我们有一个与当前日期的时间点,我不能只比较两个时间点的时间(我想要的是:当前时间是否超过“19:00” - 是或否。)

有没有办法进行这样的比较,它不使用旧的 C 风格的时间处理并且独立于日期工作?

有没有办法抵消时间点,例如将“19:00”时间点转移到当前日期?

标签: c++stdchrono

解决方案


推荐阅读