(C++ STL) chrono Example

Posted by : at

Category : Cpp


#include <iostream>
#include <chrono>
using namespace std;
using namespace chrono;

int main()
{
    hours h(1);
    minutes m(h);   // 60
    seconds s(h);   // 3600

    cout << m.count() << endl;
    cout << s.count() << endl;

    hours h2(s);    // error
    hours h2 = duration_cast<hours>(s); // ok

    using days = duration<int, ratio<3600*24, 1>>;  
    // 이런식으로 활용이 가능하다.
    days d(1);
    minutes m2(d);

    cout << m2.count() << endl; // 60 * 24
}
#include <iostream>
#include <chrono>
using namespace std;
using namespace chrono;

int main()
{
    seconds s1(3);        // ok
    seconds s2 = 3;       // erorr
    seconds s3 = 3s;      // ok
    seconds s4 = 4min;      // ok

    cout << s4.count() << endl;
#include <iostream>
#include <chrono>
using namespace std;
using namespace chrono;

void foo(seconds s) {}

int main()
{
    foo(3);     // error
    foo(3s);    // ok

    seconds s5 = 3min + 40s;        // ok

현재 시간구하기

#include <iostream>
#include <chrono>
#include <string>
using namespace std;
using namespace chrono;

int main()
{
    system_clock::time_point tp = system_clock::now();
    // 1970년 1월 1일 0시 기준 얼마나 흘렀나 나온다.
    nanoseconds ns = tp.time_since_epoch();

    cout << ns.count() << endl;

    hours h = duration_cast<hours>(ns);
    cout << h.count() << endl;

    time_t t = system_clock::to_time_t(tp);
    string s = ctime(&t);
    cout << s << endl;

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links