C++/C++ Common
시간 출력
doublerabbits
2022. 11. 5. 13:26
#include <iostream>
#include <chrono>
#include <Windows.h>
using namespace std;
time_t GetUnixTime()
{
time_t tt;
tt = time(NULL);
return tt;
}
int GetUnixTimeSecond()
{
return (int)GetUnixTime();
}
string GetTimeString()
{
time_t tt = GetUnixTime();
struct tm t;
localtime_s(&t, &tt);
// char -> std::string.c_str() 변환 필요
char timeChars[200];
memset(timeChars, 0x00, 200);
sprintf_s(timeChars, sizeof(timeChars),
"%04d-%02d-%02d %02d:%02d:%02d",
t.tm_year + 1900,
t.tm_mon + 1,
t.tm_mday,
t.tm_hour,
t.tm_min,
t.tm_sec);
string timeString(timeChars);
return timeString;
}
void SomeJob()
{
Sleep(3000);
}
int main()
{
cout << GetUnixTimeSecond() << endl;
cout << GetTimeString() << endl;
cout << endl;
cout << "Job start" << endl;
std::chrono::system_clock::time_point startTime = std::chrono::system_clock::now();
SomeJob();
std::chrono::system_clock::time_point endTime = std::chrono::system_clock::now();
cout << "Job end" << endl;
cout << endl;
std::chrono::milliseconds milli = std::chrono::duration_cast<std::chrono::milliseconds>(endTime - startTime);
std::chrono::microseconds micro = std::chrono::duration_cast<std::chrono::microseconds>(endTime - startTime);
std::chrono::nanoseconds nano = endTime - startTime;
cout << "Elasped time(millisecond) : " << milli.count() << endl;
cout << "Elasped time(microsecond) : " << micro.count() << endl;
cout << "Elasped time(nanosecond) : " << nano.count() << endl;
int userInput;
cin >> userInput;
return 0;
}