15namespace sc = ::std::chrono;
21 start_time_(sc::system_clock::now()),
22 end_time_(sc::system_clock::now())
28 start_time_ = sc::system_clock::now();
34 end_time_ = sc::system_clock::now();
41 const sc::system_clock::duration dur = end_time_ - start_time_;
44 const std::int64_t sec = sc::duration_cast<sc::seconds>(dur).count();
47 const std::int64_t milli_sec = sc::duration_cast<sc::milliseconds>(dur).count();
49 return static_cast<double>(sec) +
static_cast<double>(milli_sec) / 1000.0;
56 const sc::system_clock::duration dur = end_time_ - start_time_;
59 const std::int64_t milli_sec = sc::duration_cast<sc::milliseconds>(dur).count();
62 const std::int64_t usec = sc::duration_cast<sc::microseconds>(dur).count();
64 return static_cast<double>(milli_sec) +
static_cast<double>(usec) / 1000.0;
71 const sc::system_clock::duration dur = end_time_ - start_time_;
74 const std::int64_t usec = sc::duration_cast<sc::microseconds>(dur).count();
76 return static_cast<double>(usec);
99 sc::system_clock::time_point now = std::chrono::system_clock::now();
100 time_t now_time = std::chrono::system_clock::to_time_t(now);
102 localtime_s(&now_tm, &now_time);
103 char now_time_str[64];
104 strftime(now_time_str,
sizeof(now_time_str),
"%Y%m%d_%H%M_%S", &now_tm);
105 return std::string(now_time_str);
Stopwatch()
コンストラクタ 現在時刻で初期化する.
std::string GetElapsedMilliSecondString() const
経過時間をミリ秒で表した文字列を取得する.
double GetElapsedSeconds() const
経過時間を秒で取得. start()と end()を呼び出してからこの関数を呼ぶ.
std::string GetElapsedSecondsString() const
経過時間を秒で表した文字列を取得する.
double GetElapsedMilliSecond() const
計測結果をミリ秒で取得. start()と end()を呼び出してからこの関数を呼ぶ.
double GetElapsedMicroSecond() const
計測結果をマイクロ秒で取得. start()と end()を呼び出してからこの関数を呼ぶ.
std::string GetNowTimeString() const
現在の日時をYYYY/MM/DD HH:MM形式の文字列で取得する.
void Start()
計測開始にこの関数を呼ぶ. リセット処理などを呼ぶ必要なしで,再度計測できる.
std::string GetElapsedMicroSecondString() const
経過時間をマイクロ秒で表した文字列を取得する.
std::string FloatingPointNumToString(const T num, const int digit=kDigit, const int width=kWidth)
小数を文字列に変換する関数. C++ では C のフォーマットのように %3.3f とかで小数を文字列に変換できないため自作する.