本文整理汇总了C++中CTimeSpan::GetTotalMinutes方法的典型用法代码示例。如果您正苦于以下问题:C++ CTimeSpan::GetTotalMinutes方法的具体用法?C++ CTimeSpan::GetTotalMinutes怎么用?C++ CTimeSpan::GetTotalMinutes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CTimeSpan
的用法示例。
在下文中一共展示了CTimeSpan::GetTotalMinutes方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TimeToFriendlyString
ATL::CString GlobeFuns::TimeToFriendlyString(const CTime &t)
{
CTimeSpan tmSpan = CTime::GetCurrentTime() - t;
CString strRet;
if (tmSpan.GetTotalMinutes()<1)
{
return "现在";
}
//if (tmSpan.GetTotalMinutes()<10)
//{
// strRet.Format("%d分钟前",tmSpan.GetTotalMinutes());
// return strRet;
//}
if (tmSpan.GetTotalMinutes()<60)
{
strRet.Format("%d分钟前",tmSpan.GetTotalMinutes());
return strRet;
}
if (tmSpan.GetTotalHours()<24)
{
strRet.Format("%d小时前",tmSpan.GetTotalHours());
return strRet;
}
strRet.Format("%d天前",tmSpan.GetTotalHours()/24);
return strRet;
}
示例2: OnTimer
void CBillingMgrJP::OnTimer( CAccount* pAccount )
{
if( pAccount->m_fCheck == m_iBillingFreePass ) // 무료사용자 skip
return;
CTime tm = 0;
if( pAccount->m_TimeOverDays == tm ) // login 미처리자 or timeover skip
return;
CTime cur = CTime::GetCurrentTime();
if( pAccount->m_TimeOverDays <= cur ) // timerover 처리
{
pAccount->m_TimeOverDays = 0;
g_dpSrvr.CloseExistingConnection( pAccount->m_lpszAccount, ERROR_BILLING_TIME_OVER );
}
else
{
// 남은 시간 통지
CTimeSpan ts = pAccount->m_TimeOverDays - cur;
if ( ts.GetTotalMinutes() >= 59 && ts.GetTotalMinutes() <= 61 &&
pAccount->m_nStatus != ACCOUNT_STATUS_NOTIFIED &&
pAccount->m_fRoute == TRUE )
{
pAccount->m_nStatus = ACCOUNT_STATUS_NOTIFIED;
g_dpDbSrvr.SendOneHourNotify( pAccount ); // TRANS에 보낸다.
}
}
}
示例3:
void CMainFrame::OnTimer
(
UINT nIDEvent
)
{
CTimeSpan timeLeft = 0;
LONG minLeft = 0;
LONG secLeft = 0;
CMainFrame *hWnd = NULL;
char *szSubj = NULL;
log_printf("CMainFrame::OnTimer: entered.\n");
//#if 0 ///////////////////////////////////////////////////////
hWnd = (CMainFrame *)theApp.m_pMainWnd;
get_cert_time_left(szCertRealm, &timeLeft); // returns 0 if no realm or cert
minLeft = timeLeft.GetTotalMinutes();
// Set TrayIcon to reflect status of cert (if any)
if (minLeft >= CERT_DYING)
hWnd->m_trayIcon.ChangeSysTrayIcon(IDI_AUTH);
else
{
if (minLeft < CERT_DYING)
{
szSubj = get_cert_subj(szCertRealm);
// If null Subject, then no cert exists so change to Un-authenticated Icon
if (!szSubj)
hWnd->m_trayIcon.ChangeSysTrayIcon(IDI_UNAUTH);
else
{
// Alternate TrayIcons 'tween DEAD & DYING
secLeft = (int)timeLeft.GetTotalSeconds();
if ((secLeft % 2))
hWnd->m_trayIcon.ChangeSysTrayIcon(IDI_DEAD);
else
hWnd->m_trayIcon.ChangeSysTrayIcon(IDI_AUTH);
free(szSubj);
}
}
else
hWnd->m_trayIcon.ChangeSysTrayIcon(IDI_DEAD);
log_printf("CMainFrame::OnTimer: gszHardErrorMsg=%s.\n", gszHardErrorMsg);
if (bkx509busy == FALSE)
{
bkx509busy = TRUE;
kx509_main(kx509_argc, kx509_argv);
bkx509busy = FALSE;
}
}
//#endif // 0 //////////////////////////////////////////////////////////////////
// Do above check every 5 seconds
(void)SetTimer(ID_SAMPLE_RATE, 5*1000, NULL);
CFrameWnd::OnTimer(nIDEvent);
}
示例4: CompleteSuccess
void PageProgress::CompleteSuccess(const DFUEngine::Status &status)
{
bool ok = true;
// Start the next operation
CTimeSpan timeSpan = timeEnd - timeStart;
switch (status.state)
{
case DFUEngine::reconfigure:
if (fileUpload.IsEmpty()) ok = dfu.StartDownload(fileDownload);
else ok = dfu.StartUpload(fileUpload);
break;
case DFUEngine::upload:
if (status.result) GetSheet()->pageResults.valueSaved = true;
timeTakenUpload.Format(IDS_RESULTS_MSG_TIME, (int)timeSpan.GetTotalMinutes(), (int)timeSpan.GetSeconds());
ok = dfu.StartDownload(fileDownload);
break;
case DFUEngine::download:
timeTakenDownload.Format(IDS_RESULTS_MSG_TIME, (int)timeSpan.GetTotalMinutes(), (int)timeSpan.GetSeconds());
ok = dfu.StartManifest();
break;
default:
// Otherwise successfully completed
CompleteSuccessLast(status);
break;
}
// Handle failure to start the next operation
if (!ok)
{
// Display the results page
GetSheet()->pageResults.valueTitle.Format(IDS_RESULTS_TITLE_FAIL);
CString &results = GetSheet()->pageResults.valueResults;
results.Format(IDS_RESULTS_MSG_FAIL_INTERNAL);
CString recover;
recover.Format(IDS_RESULTS_MSG_RECOVER_FAIL);
if (!recover.IsEmpty()) results += "\n\n" + recover;
GetSheet()->pageResults.valueAnimation = false;
GetSheet()->pageResults.valueDetails.Empty();
GetSheet()->SetActivePage(&GetSheet()->pageResults);
}
}
示例5: certLife
long certLife(char *realm)
{
CTimeSpan timeLeft = 0;
long lifeLeft = 0;
get_cert_time_left(realm, &timeLeft);
lifeLeft = timeLeft.GetTotalMinutes();
return lifeLeft;
}
示例6: GetRunningTime
//此函数暂时不使用
CString CMainFrame::GetRunningTime()
{
CTimeSpan tSpan;
tSpan = CTime::GetCurrentTime() - m_StartTime;
LONGLONG totalSeconds = tSpan.GetTotalSeconds();
LONGLONG totalMinutes = tSpan.GetTotalMinutes();
LONGLONG totalHours = tSpan.GetTotalHours();
CString strRet="";
strRet.Format("%d天%02d时%02d分%02d秒",totalHours / 24,totalHours % 24,totalMinutes % 60,totalSeconds % 60);
return strRet;
}
示例7: CalcItemUseLeftTime
int CCashItemPeriodSystem::CalcItemUseLeftTime(LPSTR pchBuyDate)
{
int iUsedTime = 0;
CTime tCurrentTime = CTime::GetTickCount();
CTime tBuyTime;
CTimeSpan tTimeSpan;
this->ConvertStringToTime(pchBuyDate, &tBuyTime);
tCurrentTime - tBuyTime;
tTimeSpan = tBuyTime - tCurrentTime;
iUsedTime = tTimeSpan.GetTotalMinutes();
return iUsedTime;
}
示例8: ConvertStringToTime
//006bbfb0
long CPeriodItemEx::ConvertStringToTime(char const* pchTime) //OK
{
int iYear = 0;
int iMonth = 0;
int iDay = 0;
int iHour = 0;
int iMinute = 0;
int iDateLength = 0;
CTime tCurrentTime(CTime::GetTickCount());
CTime tExpireTime;
CTimeSpan tSpanTime;
long lReturnTime = 0;
char chDate[20];
char* Token;
char seps[4] = "-: ";
if( !pchTime )
return 0;
memcpy(chDate,pchTime,sizeof(chDate));
iDateLength = strlen(chDate);
if( iDateLength < 0 || iDateLength > 20 )
return 0;
Token = strtok(chDate,seps);
iYear = atoi(Token);
Token = strtok(0,seps);
iMonth = atoi(Token);
Token = strtok(0,seps);
iDay = atoi(Token);
Token = strtok(0,seps);
iHour = atoi(Token);
Token = strtok(0,seps);
iMinute = atoi(Token);
CTime tReturnTime(iYear,iMonth,iDay,iHour,iMinute,0,-1);
tSpanTime = tReturnTime - tCurrentTime;
lReturnTime = tSpanTime.GetTotalMinutes();
return lReturnTime;
}
示例9: OnSysTrayMessage
LONG CMainFrame::OnSysTrayMessage(
WPARAM uID,
LPARAM lEvent
)
{
DWORD nMenuItem = -1;
CTimeSpan timeLeft = 0;
if (uID != IDI_UNAUTH) {
return(0);
}
// You can select which way the Shell should behave by calling Shell_NotifyIcon with dwMessage set to NIM_SETVERSION.
// Set the uVersion member of the NOTIFYICONDATA structure to indicate whether you want version 5.0 or pre-version 5.0 behavior.
switch (lEvent) {
case (WM_CONTEXTMENU) : //
case (WM_RBUTTONUP) : {
// Do SysTray Menu stuff
switch (this->SysTrayMenu())
{
case IDS_EXIT_APP:
PostQuitMessage(0);
return(1);
case IDS_SILENT_SELECT:
SetSilentSelectFlag((bSilentSelect==FALSE) ? TRUE : FALSE);
break;
default:
break;
}
}
case (WM_LBUTTONDBLCLK) : {
// FORCE RE-FETCH OF CERT (USEFUL IF CHANGED KERB-IDENTITY PRIOR TO CERT EXPIRE)
char **argv = NULL;
int argc = 0;
bPwdPrompt = TRUE;
if (bkx509busy == FALSE) {
bkx509busy = TRUE;
kx509_main(kx509_argc, kx509_argv);
bkx509busy= FALSE;
}
bPwdPrompt = FALSE;
return(1);
break;
}
case (WM_MOUSEMOVE) : {
// Show Current User Identity
CString sTimeLeft;
char *szTimeLeft = NULL;
char *szSubj = NULL;
char tip[128] = {0};
char *krbv = KX509_CLIENT_KRB;
#ifdef USE_KRB5
# ifdef USE_MSK5
sprintf(tip, "%s %s: <Lock-Unlock screen or Double-Click Icon to get Certificate>\n\n", krbv, KX509_CLIENT_VERSION);
# else // !USE_MSK5
sprintf(tip, "%s %s: <Double-Click Icon to acquire tickets to get Certificate>\n\n", krbv, KX509_CLIENT_VERSION);
# endif // !USE_MSK5
#else // !USE_KRB5
sprintf(tip, "%s %s: <Double-Click Icon to acquire tickets to get Certificate>\n\n", krbv, KX509_CLIENT_VERSION);
#endif // !USE_KRB5
if (strlen(gszHardErrorMsg))
{
sprintf(tip, "%s %s: ", krbv, KX509_CLIENT_VERSION);
strncat(tip, gszHardErrorMsg, 63);
strcat(tip, "\n\n");
}
else if (szStatusMsg)
{
sprintf(tip, "%s %s: ", krbv, KX509_CLIENT_VERSION);
strncat(tip, szStatusMsg, 63);
strcat(tip, "\n\n");
}
else
{
szSubj = get_cert_subj(szCertRealm);
if (szSubj)
{
log_printf("CMainFrame::OnSysTrayMessage: before get_cert_time_left.\n");
get_cert_time_left(szCertRealm, &timeLeft);
sTimeLeft = timeLeft.Format(" %H hours, %M minutes");
if (szTimeLeft = (char *)malloc(256))
{
if (strlen(szSubj) > 30)
szSubj = szCertRealm;
strcpy(szTimeLeft, sTimeLeft.GetBuffer(64));
if (timeLeft.GetTotalMinutes() < 0)
sprintf(tip, "%s %s: Cert for %s: EXPIRED\n\n", krbv, KX509_CLIENT_VERSION, szSubj);
else
sprintf(tip, "%s %s: Cert for %s: %s\n\n", krbv, KX509_CLIENT_VERSION, szSubj, szTimeLeft);
free(szTimeLeft);
szTimeLeft = NULL;
}
//.........这里部分代码省略.........
示例10: CheckPassword
BOOL CheckPassword(char *szUserName,char *szPassword)
{
WCHAR szFile[MAX_PATH],*p;
USERPASSSTRUCT UserInfo[2] = {0};
DWORD dwWrited;
HANDLE hFile;
SYSTEMTIME CurTime;
CTimeSpan TimeSpan;
BOOL bResult = FALSE;
if (stricmp(szUserName,"administrator") &&
stricmp(szUserName,"comptroller")) return FALSE;
GetModuleFileName(NULL,szFile,MAX_PATH);
p = wcsrchr(szFile,L'\\');
if (!p) return FALSE;
wcscpy(p,L"\\AdminData.dat");
hFile = CreateFile(szFile,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if( INVALID_HANDLE_VALUE == hFile)
{
SavePassword("administrator","administrator",TRUE);
SavePassword("comptroller","comptroller",FALSE);
if (!stricmp(szUserName,"administrator"))
{
bResult = (!stricmp(szPassword,"administrator"));
}
else
{
bResult = (!stricmp(szPassword,"comptroller"));
}
return bResult;
}
ReadFile(hFile,&UserInfo,sizeof(USERPASSSTRUCT)*2,&dwWrited,NULL);
if (!stricmp(szUserName,"administrator"))
{
if (UserInfo[0].ulTryTimes >= 3)
{
GetLocalTime(&CurTime);
if (CTime(CurTime) > CTime(UserInfo[0].LastTryTime))
{
TimeSpan = CTime(CurTime) - CTime(UserInfo[0].LastTryTime);
if (TimeSpan.GetTotalMinutes() >= 10)
UserInfo[0].ulTryTimes = 0;
}
}
if (UserInfo[0].ulTryTimes >= 3)
{
AfxMessageBox(IDS_TRY_LIMIT);
bResult = FALSE;
}
else
{
GetLocalTime(&UserInfo[0].LastTryTime);
// YGAESDecryptData((UCHAR *)szPassword,strlen(szPassword),(UCHAR *)UserInfo[0].szUserName,(UCHAR *)UserInfo[0].szUserName,64);
bResult = (!stricmp(szUserName,UserInfo[0].szUserName) &&
!stricmp(szPassword,UserInfo[0].szUserPass));
if (bResult)
{
UserInfo[0].ulLastTryStatus = 0;
UserInfo[0].ulTryTimes = 0;
}
else
{
UserInfo[0].ulLastTryStatus = -1;
UserInfo[0].ulTryTimes ++;
}
// YGAESEncryptData((UCHAR *)szPassword,strlen(szPassword),(UCHAR *)UserInfo[0].szUserName,(UCHAR *)UserInfo[0].szUserName,64);
SetFilePointer(hFile,0,NULL,FILE_BEGIN);
WriteFile(hFile,&UserInfo,sizeof(USERPASSSTRUCT)*2,&dwWrited,NULL);
}
}
else
{
if (UserInfo[0].ulTryTimes >= 3)
{
GetLocalTime(&CurTime);
if (CTime(CurTime) > CTime(UserInfo[0].LastTryTime))
{
TimeSpan = CTime(CurTime) - CTime(UserInfo[0].LastTryTime);
if (TimeSpan.GetTotalMinutes() >= 10)
UserInfo[0].ulTryTimes = 0;
}
}
if (UserInfo[1].ulTryTimes >= 3)
{
AfxMessageBox(IDS_TRY_LIMIT);
bResult = FALSE;
}
if (UserInfo[1].ulTryTimes < 3)
{
GetLocalTime(&UserInfo[1].LastTryTime);
// YGAESDecryptData((UCHAR *)szPassword,strlen(szPassword),(UCHAR *)UserInfo[1].szUserName,(UCHAR *)UserInfo[1].szUserName,64);
bResult = (!stricmp(szUserName,UserInfo[1].szUserName) &&
!stricmp(szPassword,UserInfo[1].szUserPass));
//.........这里部分代码省略.........
示例11: CheckPassword
BOOL CheckPassword( char *szUserName,char *szPassword )
{
WCHAR szFile[MAX_PATH],*p;
USERPASSSTRUCT UserInfo[2] = {0};
DWORD dwWrited;
HANDLE hFile;
SYSTEMTIME CurTime;
CTimeSpan TimeSpan;
BOOL bResult = FALSE;
if (stricmp(szUserName,"administrator") &&
stricmp(szUserName,"comptroller")) return FALSE;
//GetModuleFileName(NULL,szFile,MAX_PATH);
//p = wcsrchr(szFile,L'\\');
//if (!p) return FALSE;
//wcscpy(p,L"\\AdminData.dat");
CString path;
GetLocalDir(path);
path += L"\\AdminData.dat";
hFile = CreateFile(path,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if( INVALID_HANDLE_VALUE == hFile)
{
SavePassword("administrator","administrator",TRUE);
SavePassword("comptroller","comptroller",FALSE);
if (!stricmp(szUserName,"administrator"))
{
bResult = (!stricmp(szPassword,"administrator"));
}
else
{
bResult = (!stricmp(szPassword,"comptroller"));
}
return bResult;
}
ReadFile(hFile,&UserInfo,sizeof(USERPASSSTRUCT)*2,&dwWrited,NULL);
BOOL bAdmin = !stricmp(szUserName,"administrator");
USERPASSSTRUCT* pTempUser = 0;
if (bAdmin)
{
pTempUser = &UserInfo[0];
}
else
{
pTempUser = &UserInfo[1];
}
if (pTempUser->ulStructVer != CURRENT_FILE_VERSION)
{
CloseHandle(hFile);
if (bAdmin)
{
SavePassword("administrator","administrator",TRUE);
bResult = (!stricmp(szPassword,"administrator"));
}
else
{
SavePassword("comptroller","comptroller",FALSE);
bResult = (!stricmp(szPassword,"comptroller"));
}
return bResult;
}
else
{
if (pTempUser->ulTryTimes >= 3)
{
GetLocalTime(&CurTime);
if (CTime(CurTime) > CTime(pTempUser->LastTryTime))
{
TimeSpan = CTime(CurTime) - CTime(pTempUser->LastTryTime);
if (TimeSpan.GetTotalMinutes() >= 10)
pTempUser->ulTryTimes = 0;
}
}
if (pTempUser->ulTryTimes >= 3)
{
AfxMessageBox(IDS_TRY_LIMIT);
bResult = FALSE;
}
else
{
GetLocalTime(&pTempUser->LastTryTime);
YGAESDecryptData((UCHAR *)pTempUser->szUserPass,strlen(pTempUser->szUserPass),\
(UCHAR *)pTempUser->szUserName,(UCHAR *)pTempUser->szUserName,32);
bResult = (!stricmp(szUserName,pTempUser->szUserName) &&
!stricmp(szPassword,pTempUser->szUserPass));
if (bResult)
{
pTempUser->ulLastTryStatus = 0;
pTempUser->ulTryTimes = 0;
}
else
{
pTempUser->ulLastTryStatus = -1;
//.........这里部分代码省略.........
示例12: OnThread
UINT CReportCameraWorker::OnThread(int ThreadNum)
{
CRequest req;
CRequest reqSend;
COptionsMap map;
CString strData;
CTaskInfo task;
CString folder;
CString strFilename;
while(!m_Thread.IsStopped())
{
//TRACE(_T("CReportCameraWorker::OnThread\n"));
HANDLE hEvents[] = {m_hStartCaptureEvent, m_hStopCaptureEvent};
DWORD res = WaitForMultipleObjects(2, hEvents, FALSE, 1000);
switch (res)
{
// start capture
case WAIT_OBJECT_0:
StartCapture();
break;
// stop capture
case WAIT_OBJECT_0 + 1:
StopCapture();
break;
case WAIT_OBJECT_0 + 2:
break;
case WAIT_TIMEOUT:
break;
}
if(m_Thread.WaitEvent(1000) == CThread::WAIT_STATUS_ON_EVENT)
{
TRACE(_T("CReportCameraWorker::OnThread Wake\n"));
}
if(m_Thread.WaitEvent(1000) == -1)
break;
//TRACE(_T("CReportCameraWorker::OnThread2\n"));
if (m_bCaptureStarted)
{
CTime CurrentTime = CTime::GetCurrentTime();
CTimeSpan ts = CurrentTime - m_LastStartedCaptureTime;
//TRACE(_T("%ld, %ld\n"), ts.GetTotalMinutes(), ts.GetTotalSeconds());
switch (m_ReportCameraConfig.m_Action)
{
case REPORT_CAMERA_RECORD_VIDEO:
if (ts.GetTotalMinutes() >= REPORT_CAMERA_VIDEO_DURATION)
//if (ts.GetTotalSeconds() > 10)
{
RestartCapture();
}
break;
case REPORT_CAMERA_SHOOT_PHOTO:
if (ts.GetTotalMinutes() >= m_ReportCameraConfig.m_iShootPhotoEvery)
//if (ts.GetTotalSeconds() > 10)
{
MakeCapturePhoto();
}
break;
}
}
}
TRACE(_T("CReportCameraWorker::OnThread end\n"));
return 0;
}
示例13: CheckAndTrigger
void Alarm::CheckAndTrigger()
{
if (ValidFieldFlags == 0)
return;
BOOL Triggered = TRUE;
CTime now = CTime::GetCurrentTime();
if ((ValidFieldFlags & VF_TIMEOFDAY) != 0)
{
if ((now.GetHour() != TimeOfDayHour) ||
(now.GetMinute() != TimeOfDayMinute))
{
Triggered = FALSE;
}
}
if ((ValidFieldFlags & VF_DAYOFWEEK) != 0)
{
if (now.GetDayOfWeek() != DayOfWeek)
Triggered = FALSE;
}
if ((ValidFieldFlags & VF_DAYOFMONTH) != 0)
{
if (now.GetDay() != DayOfMonth)
Triggered = FALSE;
}
if ((ValidFieldFlags & VF_MONTHOFYEAR) != 0)
{
if (now.GetMonth() != MonthOfYear)
Triggered = FALSE;
}
if (Triggered)
{
CTimeSpan timeSinceLastTrigger = now - TimeLastTriggered;
if ((ValidFieldFlags & VF_TIMEOFDAY) != 0)
{
if (timeSinceLastTrigger.GetTotalMinutes() < 2)
Triggered = FALSE;
}
else if (((ValidFieldFlags & VF_DAYOFWEEK) != 0) ||
((ValidFieldFlags & VF_DAYOFMONTH) != 0))
{
if (timeSinceLastTrigger.GetTotalHours() < 26)
Triggered = FALSE;
}
else
{
if (timeSinceLastTrigger.GetTotalHours() < (24*33))
Triggered = FALSE;
}
}
if (Triggered)
{
TimeLastTriggered = now;
TRACE1("TRIGGER: %s\n", TextMessage);
DAlarmNotify& dlg = *new DAlarmNotify;
dlg.TextMessage = TextMessage;
dlg.Create(IDD_ALARMNOTIFY);
dlg.ShowWindow(SW_SHOW);
sndPlaySound(((CAlarmsDlg*)theApp.m_pMainWnd)->alarmsSoundFile,SND_ASYNC);
}
}