C++

C++ 현재 시간 가져오기

ArchCode 2019. 6. 8. 17:14

C++ 11 기준,

std::chrono 헤더 사용(#include <chrono>).

 

밀리세컨드(std::chrono::milliseconds) 단위로 시간 가져오기

std::chrono::system_clock::now().time_since_epoch()로 가져오며,

std::chrono::duration_cast을 사용하여 std::chrono::milliseconds타입으로 캐스팅해줘야함.

-> std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch())

 

이를 std::cout 등으로 출력할 때는 뒤에 .count()를 붙여주면 된다.

간단히 정리하자면,

 

using namespace std::chrono;

std::cout << "currentTimeMillis: " << duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count() << std::endl;

 

나노세컨드(std::chrono::nanoseconds) 단위로 시간 가져오기

 

std::chrono::high_resolution_clock::now().time_since_epoch()로 가져오며,

밀리세컨드와 모든 방식이 같다.

-> std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now().time_since_epoch())