hh_mm_ss 类
将 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
表示Duration
d
的精度定义为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
。