将 std::chrono::duration 拆分为“小时:分钟:秒”,拆分精确度由 Duration 模板参数确定。 此类主要用作格式设置工具。
Duration 必须是 std::chrono::duration 的专用化。
语法
template<class Duration> class hh_mm_ss; // C++20
成员
| 名称 | 描述 |
|---|---|
| 构造函数 | 构造 hh_mm_ss。 |
| is_negative | 指示持续时间是否为负数。 |
| 小时数 | 获取小时值。 |
| 分钟数 | 获取分钟值。 |
| 秒 | 获取秒值。 |
| subseconds | 获取亚秒值。 |
| to_duration | 返回 duration_cast<precision>。 |
hh_mm_ss::operator precision |
获取此 hh_mm_ss 的精度。 |
非成员
| “属性” | 描述 |
|---|---|
hh_mm_ss::operator<< |
将 hh_mm_ss 输出到给定流。 |
要求
标头:<chrono>
命名空间:std::chrono
编译器选项: /std:c++latest
hh_mm_ss::hh_mm_ss 构造函数
构造一个 hh_mm_ss。
constexpr explicit hh_mm_ss(Duration d);
参数
d
构造一个hh_mm_ss表示Durationd的精度定义为duration<common_type_t<Duration::rep, seconds::rep>, ratio<1, 10fractional_width>>
备注
如果 treat_as_floating_point_v<precision::rep> 为 true,则使用 abs(d)-hours()-minutes()-seconds() 初始化精度。 否则,使用 duration_cast<precision>(abs(d)-hours()-minutes()-seconds()) 初始化精度
hh_mm_ss::is_negative
获取持续时间是否为负数。
constexpr bool is_negative() const noexcept;
返回值
如果 hh_mm_ss 值为负,则为 true。 否则为 false。
hh_mm_ss::hours
获取此 hh_mm_ss 的小时部分。
constexpr chrono::hours hours() const noexcept;
返回值
此 hh_mm_ss 的 hours 值。
hh_mm_ss::minutes
获取此 hh_mm_ss 的分钟部分。
constexpr chrono::minutes minutes() const noexcept;
返回值
此 hh_mm_ss 的 minutes 值。
hh_mm_ss::seconds
获取此 hh_mm_ss 的秒部分。
constexpr chrono::seconds seconds() const noexcept;
返回值
此 hh_mm_ss 的 seconds 值。
hh_mm_ss::subseconds
获取此 hh_mm_ss 的亚秒部分。
constexpr precision subseconds() const noexcept;
返回值
此 hh_mm_ss 的 subseconds 值。
如果 std::chrono::treat_as_floating_point_v<precision::rep> 为 true,则计算方式为 abs(d)-hours()-minutes()-seconds()。 否则,计算方式为 std::chrono::duration_cast<precision>(abs(d)-hours()-minutes()-seconds())
hh_mm_ss::operator precision
constexpr explicit operator precision() const noexcept;
返回值
返回 to_duration
hh_mm_ss::to_duration
constexpr precision to_duration() const noexcept;
返回值
如果 is_neg 为 true,则返回 -(h+m+s+ss)。 否则返回 h+m+s+ss。