Unix TimeStamp

Unix TimeStamp 를 구해 로컬 시간 기준으로 오늘의 시작 시간 구하기.

__int64 unixTimeStamp = std::chrono::seconds(std::time(NULL)).count();
struct tm tmtime = *localtime(&unixTimeStamp);

//오늘의 시작 timestamp
__int64 todayStartTimeStamp = (__int64)(unixTimeStamp - tmtime.tm_sec - tmtime.tm_min * 60 - tmtime.tm_hour * 3600);

로컬 시간을 Unix TimsStamp 로 구하기
__int64 convert2(SYSTEMTIME systemTime)
{
struct tm tm1;
memset(&tm1, 0, sizeof(tm));
tm1.tm_year = systemTime.wYear - 1900;
tm1.tm_mon = systemTime.wMonth - 1;
tm1.tm_mday = systemTime.wDay;
tm1.tm_hour = systemTime.wHour;
tm1.tm_min = systemTime.wMinute;
tm1.tm_sec = systemTime.wSecond;

char buff[80];
strftime(buff, 80, "%Y.%m.%d %H:%M:%S", &tm1);
printf(buff);

return mktime(&tm1);
}