Skip to content

Files

72 lines (58 loc) · 1.66 KB

seconds.md

File metadata and controls

72 lines (58 loc) · 1.66 KB

seconds

  • chrono[meta header]
  • std::chrono[meta namespace]
  • type-alias[meta id-type]
  • cpp11[meta cpp]
namespace std {
namespace chrono {
  using seconds = duration<最低でも35ビットを持つ符号付き整数型>;
}}
  • duration[link /reference/chrono/duration.md]

概要

秒単位を表現するdurationの別名

#include <iostream>
#include <chrono>

int main()
{
  std::chrono::seconds s1(30);
  std::chrono::seconds s2(20);

  // 秒同士の演算
  // 30秒 + 20秒 = 50秒
  std::chrono::seconds result = s1 + s2;
  std::cout << result.count() << std::endl;

  // 秒からミリ秒に変換
  // 50秒 = 50000ミリ秒
  std::chrono::milliseconds ms = result;
  std::cout << ms.count() << std::endl;

  // 秒から分に変換
  // 65秒は1分5秒だが、整数表現の分に変換する際に5秒が切り捨てられるため、
  // 1分となる。
  // 切り捨てが発生する場合には、duration_cast()関数を使用する。
  std::chrono::seconds s3(65);
  std::chrono::minutes m = std::chrono::duration_cast<std::chrono::minutes>(s3);
  std::cout << m.count() << std::endl;
}
  • std::chrono::milliseconds[link milliseconds.md]
  • std::chrono::minutes[link minutes.md]
  • count()[link duration/count.md]
  • std::chrono::duration_cast[link duration_cast.md]

出力

50
50000
1

バージョン

言語

  • C++11

処理系

関連項目