Skip to content

Latest commit

 

History

History
62 lines (50 loc) · 1.52 KB

make24.md

File metadata and controls

62 lines (50 loc) · 1.52 KB

make24

  • chrono[meta header]
  • std::chrono[meta namespace]
  • function[meta id-type]
  • cpp20[meta cpp]
namespace std::chrono {
  constexpr hours make24(const hours& h, bool is_pm) noexcept;
}

概要

12時間ベースの時間を24時間ベースの時間範囲に変換する。

戻り値

  • is_pmfalseである場合、hが正午以前だと仮定して24時間時計での範囲[0h, 11h]の等価な時間を返す
  • そうでない場合、hを正午以後だと仮定して24時間時計での範囲[12h, 23h]の等価な時間を返す
  • h[1h, 12h]の範囲外である場合、未規定の値を返す

#include <cassert>
#include <chrono>

namespace chrono = std::chrono;
using namespace std::chrono_literals;

int main()
{
  assert(chrono::make24(3h, false) == 3h);
  assert(chrono::make24(12h, false) == 0h);

  assert(chrono::make24(12h, true) == 12h);
  assert(chrono::make24(1h, true) == 13h);
  assert(chrono::make24(3h, true) == 15h);
  assert(chrono::make24(11h, true) == 23h);
}
  • chrono::make24[color ff0000]
  • 0h[link duration/op_h.md]
  • 1h[link duration/op_h.md]
  • 3h[link duration/op_h.md]
  • 11h[link duration/op_h.md]
  • 12h[link duration/op_h.md]
  • 15h[link duration/op_h.md]
  • 23h[link duration/op_h.md]

出力

バージョン

言語

  • C++20

処理系

  • Clang: 10.0 [mark verified]
  • GCC: 11.1 [mark verified]
  • Visual C++: 2019 Update 3 [mark noimpl]