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 |