c++标准库-chrono

#include "stdafx.h"
#include <iostream>
#include <chrono>
#include <iomanip>

using namespace std;
using namespace chrono;

#pragma warning(disable:4996)

/*
*   c++ 时间库 chrono
*   持续时间        duration
*   时钟          system_clock::time_point
*   时点          time_point
*/

typedef duration<double>                    Seconds;    //秒
typedef duration<double,ratio<60>>          Minutes;    //分
typedef duration<double, ratio<60 * 60>>    Hours;      //时

int main()
{

    //持续时间
    Hours oneHour(1);           //一小时
    Minutes thirtyMinutes(30);  //30分钟

    cout << Hours(thirtyMinutes).count() << endl;               //时间转换、
    cout << Minutes(thirtyMinutes + oneHour).count() << endl;   //一小时+30分钟,一分钟表示
    cout << Hours(thirtyMinutes + oneHour).count() << endl;     //一小时+30分钟,小时表示表示

    //时钟
    system_clock::time_point sctp = system_clock::now();
    time_t tt = system_clock::to_time_t(sctp);
    tm *ptm = localtime(&tt);
    cout << put_time(ptm, "%H:%M:%S") << endl;

    //两天后日期是多少
    sctp += hours(48);
    tt = system_clock::to_time_t(sctp);
    ptm = localtime(&tt);
    auto str = put_time(ptm, "%Y-%m-%d %H:%M:%S");
    cout << str << endl;

    //时间点
    time_point<steady_clock>    tpsc;
    tpsc += minutes(10);
    cout << Seconds(tpsc.time_since_epoch()).count() << endl;


    return 0;
}

猜你喜欢

转载自blog.csdn.net/timeinsist/article/details/78551221