본문으로 바로가기

mfc 시간(년,월,일) 차이 구하기

category 프로그래밍/MFC 2018. 6. 19. 20:21

mfc에서 작성했으며 30분 보다 적은 시간일경우 처리하기 위한 코드입니다. 
살짝만 바꿔서 응용하시면 됩니다.

CString Caldata = "2018-06-19 18:06:24.0"; CTime tm = CTime::GetCurrentTime(); int nCurHour = tm.GetHour(); int nCurMin = tm.GetMinute(); int nCurSec = tm.GetSecond(); int nCurYear = tm.GetYear(); int nCurMonth = tm.GetMonth(); int nCurDay = tm.GetDay(); CString comYear = Caldata, comMonth = Caldata, comDay = Caldata, comHour = Caldata, comMin = Caldata, comSec = Caldata ; int nYear, nMonth, nDay, nHour, nMin, nSec; comYear.Delete(4, Caldata.GetLength()); //년 nYear = _ttoi(comYear); comMonth.Delete(0, 5); comMonth.Delete(2, Caldata.GetLength()-5); //월 nMonth = _ttoi(comMonth); comDay.Delete(0, 8); comDay.Delete(2, Caldata.GetLength() - 8); //일 nDay = _ttoi(comDay); comHour.Delete(0,11); comHour.Delete(2, Caldata.GetLength() - 11); //시간 nHour = _ttoi(comHour); comMin.Delete(0, 14); comMin.Delete(2, Caldata.GetLength() - 14); //분 nMin = _ttoi(comMin); comSec.Delete(0, 17); comSec.Delete(2, Caldata.GetLength() - 17); //분 nSec = _ttoi(comSec); CTime currentTime(nCurYear, nCurMonth, nCurDay, nCurHour, nCurMin, nCurSec); CTime compareTime(nYear, nMonth, nDay, nHour, nMin, nSec); CTimeSpan CompareData = currentTime - compareTime; //비교 CString leftMin; leftMin.Format("%d", CompareData.GetTotalMinutes()); CString leftSec; leftSec.Format("%d", CompareData.GetSeconds()); int nleftMin = _ttoi(leftMin); int nleftSec = _ttoi(leftSec); if (nleftMin <= 29) //30분보다 적다면 { return true; }


'프로그래밍 > MFC' 카테고리의 다른 글

[MFC] CMap 사용방법  (0) 2018.07.24
[MFC] LPSTR,LPCSTR,LPCTSTR .. 과연 무엇인가?  (0) 2018.07.11
DLL 개념 및 이유?  (0) 2018.06.04