std::chrono::hh_mm_ss<Duration>::hh_mm_ss
来自cppreference.com
constexpr hh_mm_ss() noexcept : hh_mm_ss{Duration::zero()} {} |
(1) | |
constexpr explicit hh_mm_ss( Duration d ); |
(2) | |
构造 hh_mm_ss
对象。
1) 构造对应
Duration::zero()
的 hh_mm_ss
对象。2) 构造对应 d 的
hh_mm_ss
对象:
- is_negative() 返回 d < Duration::zero()。
- hours() 返回 std::chrono::duration_cast<std::chrono::hours>(abs(d))。
- minutes() 返回 std::chrono::duration_cast<std::chrono::minutes>(abs(d) - hours())。
- seconds() 返回
std::chrono::duration_cast<std::chrono::seconds>(abs(d) - hours() - minutes())。 - 若 std::chrono::treat_as_floating_point_v<precision::rep> 为 true 则 subseconds() 返回 abs(d) - hours() - minutes() - seconds();否则返回 std::chrono::duration_cast<precision>(abs(d) - hours() - minutes() - seconds())。
参数
d | - | 要拆分的时长。 |
示例
运行此代码
#include <chrono> #include <print> int main() { std::println("默认构造函数: {}", std::chrono::hh_mm_ss<std::chrono::minutes>{}); std::chrono::time_point now = std::chrono::system_clock::now(); std::chrono::hh_mm_ss time_of_day{now - std::chrono::floor<std::chrono::days>(now)}; std::println("日内时间是: {}", time_of_day); }
可能的输出:
默认构造函数: 00:00:00 日内时间是: 12:13:14.151617189