1. GetLocalTime, mkTime 이용.
#include <time.h>
void main()
{
SYSTEMTIME sCurrentSysTime;
// 현재 시간 SYSTEMTIME 담기.
::GetLocalTime( &sCurrentSysTime );
tm atm;
tmTime1.tm_sec = sCurrentSysTime.wSecond;
tmTime1.tm_min = sCurrentSysTime.wMinute;
tmTime1.tm_hour = sCurrentSysTime.wHour;
tmTime1.tm_mday = sCurrentSysTime.wDay;
tmTime1.tm_mon = sCurrentSysTime.wMonth - 1;
tmTime1.tm_year = sCurrentSysTime.wYear - 1900;
tmTime1.tm_isdst = 0;
// 현재 시간 중 00:00 기준으로 필요 하다면 시, 분, 초 = 0
//tmTime1.tm_hour = 0;
//tmTime1.tm_min = 0;
//tmTime1.tm_sec = 0;
// 현재 시간 time_t 담기.
time_t m_time = mktime(&atm);
printf( "Test : %d \n", m_time );
/* Test : 1325689200 */
}
2. COleDateTime 객체 이용.
//#include <time.h>
//#include <atltime.h>
//#include <mmsystem.h>
//#pragma comment(lib, "winmm.lib")
// DWORD dwNow = timeGetTime();
#include <ATLComTime.h>
void main()
{
// 현재 시간 구하기.
DOUBLE mNowDate = COleDateTime::GetCurrentTime();
// Date 객체에 담기.
COleDateTime Date( mNowDate );
DWORD dwDate = ( Date.GetYear() * 10000 ) + ( Date.GetMonth() * 100 ) + Date.GetDay();
DWORD dwTime = ( Date.GetHour() * 10000 ) + ( Date.GetMinute() * 100 ) + Date.GetSecond();
// 현재 시간 중 00:00 기준으로 필요 하다면 시, 분, 초 = 0
//COleDateTime CustomDate( Date.GetYear(), Date.GetMonth(), Date.GetDay(), 0, 0, 0 );
printf( "Test Date YYYMMDD : %d \n", dwDate );
/* Test Date YYYMMDD : 20191204 */
printf( "Test Time HHMMSS : %d \n", dwTime );
/* Test Time HHMMSS : 133217 */
}
'[ Programing ] > C++' 카테고리의 다른 글
char - wchar_t 변환 (0) | 2020.04.07 |
---|---|
C++ 11이상 STL vector erase() 오류시 Exception 관련 (0) | 2020.03.05 |
random_shuffle 시드 사용. (0) | 2019.11.22 |
C++ 17 sum() 베리어딕 템플릿의 확장버전. (0) | 2018.04.17 |
C++ 17 새로운 기능들 (0) | 2018.04.17 |