void CIBAOutputBar::UpdateMsgLog() { ////////////////////////查询本班次的信息//////////////////// CClientShortMsgArray MsgArray; COleDateTime Start, End; if (theApp.GetCurCashier()->IsOnDuty()) { Start.ParseDateTime(theApp.GetCurCashier()->GetOnDutyTime());//上班时间 } else { //一天前 Start = COleDateTime::GetCurrentTime(); Start -= COleDateTimeSpan(1, 0, 0, 0); } CString strStart = Start.Format(_T("%Y-%m-%d %H:%M")); End = COleDateTime::GetCurrentTime(); End += COleDateTimeSpan(1, 0, 0, 0); CString strEnd = End.Format(_T("%Y-%m-%d %H:%M")); CIBADAL::GetInstance()->GetClientShortMsg(MsgArray, strStart, strEnd); for (INT i = 0; i < MsgArray.GetCount(); i++) { AddMsgLog(MsgArray.GetAt(i)); } //////////////////////////////////////////////// }
BOOL CCalendarCtrl::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) { COleDateTime newDate = m_DateCurrent; if(zDelta < 0){ // SendMessage(WM_VSCROLL,SB_LINEDOWN); newDate += COleDateTimeSpan(7,0,0,0); if((m_BoundUp > newDate) && (newDate > m_BoundDown)) { m_nVscrollPos++; SetScrollPos(SB_VERT, m_nVscrollPos, TRUE); Goto(newDate); return TRUE; } } else if(zDelta > 0){ // SendMessage(WM_VSCROLL,SB_LINEUP); newDate -= COleDateTimeSpan(7,0,0,0); if((m_BoundUp > newDate) && (newDate > m_BoundDown)) { m_nVscrollPos--; SetScrollPos(SB_VERT, m_nVscrollPos, TRUE); Goto(newDate); return TRUE; } } return CWnd::OnMouseWheel(nFlags, zDelta, pt); }
void CBCGPPlannerViewWorkWeek::OnActivate(CBCGPPlannerManagerCtrl* pPlanner, const CBCGPPlannerView* pOldView) { ASSERT_VALID(pPlanner); if (pOldView != NULL) { m_Date = pOldView->GetDate (); } m_DateStart = CalculateDateStart ( COleDateTime(m_Date.GetYear (), m_Date.GetMonth (), m_Date.GetDay (), 0, 0, 0)); m_DateEnd = m_DateStart + COleDateTimeSpan (pPlanner->GetWorkWeekInterval () - 1, 23, 59, 59); COleDateTime sel1 (m_Date); COleDateTime sel2 (m_Date); if (pOldView != NULL) { sel1 = pOldView->GetSelectionStart (); sel2 = pOldView->GetSelectionEnd (); } const int nMinuts = CBCGPPlannerView::GetTimeDeltaInMinuts (pPlanner->GetTimeDelta ()); sel1 = COleDateTime (m_DateStart.GetYear (), m_DateStart.GetMonth (), m_DateStart.GetDay (), pPlanner->GetFirstSelectionHour (), (int)(pPlanner->GetFirstSelectionMinute () / nMinuts) * nMinuts, 0); sel2 = sel1 + COleDateTimeSpan (0, 0, nMinuts - 1, 59); //SetSelection (sel1, sel2, FALSE); CBCGPPlannerView::OnActivate (pPlanner, NULL); SetSelection (sel1, sel2); }
void CNDTermConsumeView::InitData() { if (m_cboTermID.GetCount() > 0) { return; } COleDateTime dtTmp; if (theApp.GetCurCashier()->IsOnDuty()) { dtTmp.ParseDateTime(theApp.GetCurCashier()->GetOnDutyTime()); } else { dtTmp = COleDateTime::GetCurrentTime(); dtTmp -= COleDateTimeSpan(1, 0, 0, 0); } m_StartTime.SetDate(dtTmp); dtTmp = COleDateTime::GetCurrentTime(); dtTmp += COleDateTimeSpan(1, 0, 1, 0); m_EndTime.SetDate(dtTmp); for (INT i = 0; i < CLocalServer::GetInstance()->ComputerList.GetCount(); i++) { m_cboTermID.AddString(CLocalServer::GetInstance()->ComputerList.GetComputer(i).GetTerminalID()); } }
CString CBCGPPlannerPrintMonth::GetPageHeaderText () const { CString strText; SYSTEMTIME st; CString str; COleDateTime dtStart (GetDateStart ()); COleDateTime dtEnd (GetDateEnd ()); if ((dtStart + COleDateTimeSpan (7, 0, 0, 0)).GetMonth () != dtStart.GetMonth ()) { dtStart += COleDateTimeSpan (7, 0, 0, 0); } if ((dtEnd - COleDateTimeSpan (7, 0, 0, 0)).GetMonth () != dtEnd.GetMonth ()) { dtEnd -= COleDateTimeSpan (7, 0, 0, 0); } dtStart.GetAsSystemTime (st); ::GetDateFormat ( LOCALE_USER_DEFAULT, 0, &st, _T("MMMM yyyy"), str.GetBuffer (100), 100 ); str.ReleaseBuffer (); strText = str; if (dtStart.GetMonth () != dtEnd.GetMonth ()) { dtEnd.GetAsSystemTime (st); ::GetDateFormat ( LOCALE_USER_DEFAULT, 0, &st, _T("MMMM yyyy"), str.GetBuffer (100), 100 ); str.ReleaseBuffer (); strText += _T(" -\r"); strText += str; } return strText; }
void CCalendarCtrl::Goto(const COleDateTime& dtDate, bool bSelect) { if( (dtDate < m_BoundUp) && (dtDate > m_BoundDown) ) { m_DateCurrent = dtDate; if(m_nFirstWeekDay<1 || m_nFirstWeekDay>7) m_nFirstWeekDay = 1; COleDateTime dtIte(m_DateCurrent.GetYear(), m_DateCurrent.GetMonth(), m_DateCurrent.GetDay(),0,0,0); int narr[7]; for (int d=0; d<7; d++) narr[((m_nFirstWeekDay-1)+d)%7] = d; int nCellStart = narr[dtIte.GetDayOfWeek()-1]; for(int i=0; i<nCellStart; i++) dtIte -= COleDateTimeSpan(1,0,0,0); for(i=0; i<CALENDAR_ROWS ; i++) { for(int u=0; u<CALENDAR_COLUMNS; u++) { // Init the cell m_dayCells[i][u].date = dtIte; m_dayCells[i][u].bPartial = false; m_dayCells[i][u].bMark = false; m_dayCells[i][u].csaLines.RemoveAll(); if(m_pfnDataCallback) m_pfnDataCallback(this, DateToSeconds(m_dayCells[i][u].date)); dtIte += COleDateTimeSpan(1,0,0,0); } } if(bSelect) { m_RandomSelection.RemoveAll(); m_SelectionRange[2] = 0; m_SelectionRange[1] = DateToSeconds(COleDateTime(m_DateCurrent.GetYear(), m_DateCurrent.GetMonth(), m_DateCurrent.GetDay(),0,0,0)); m_SelectionRange[0] = m_SelectionRange[1]; // Scrolling pos COleDateTime today(time(NULL)); m_nVscrollPos = (m_nVscrollMax/2) + (m_DateCurrent-today).GetDays()/7; SetScrollPos(SB_VERT, m_nVscrollPos, TRUE); } } Invalidate(true); }
// 设置时间控件的数据 void CCardopenConsumeView::InitDate(void) { COleDateTime tdate; if (theApp.GetCurCashier()->IsOnDuty()) { //一天前 tdate = COleDateTime::GetCurrentTime(); tdate -= COleDateTimeSpan(1, 0, 0, 0); } m_StartTime.SetDate(tdate); tdate = COleDateTime::GetCurrentTime(); tdate += COleDateTimeSpan(1, 0, 0, 0); m_EndTime.SetDate(tdate); }
COleDateTime CApp::CalcInterestRate(CEngineMSExcel &excel, const COleDateTime &date, double &fWeeklyAve, double &f3MAve, double &fFridayClose) { COleDateTime friday = excel.GetLastFriday(date); BOOL bExist = CSQLCompany::DoesInterestRateRecordExist(friday); COleDateTime dtReq = friday; if(bExist) dtReq -= COleDateTimeSpan(7,0,0,0); double values[5]; excel.GetLastWeekT10ValuesFromBaseLine(friday, values); fWeeklyAve = CMath::GetMean(values, 5); SInterestRateHistory hist; int nHist = CSQLCompany::GetInterestRateHistory(dtReq, 12, hist); double f3m[13]; for(int i=0; i<13; i++) f3m[i] = _INF_; for(int i=0; i<nHist; i++) f3m[i] = hist[i].fWeeklyAve; f3m[nHist] = fWeeklyAve; f3MAve = CMath::GetMean(f3m, nHist+1); fFridayClose = values[4]; return friday; }
void CBCGPRecurrenceRuleWeekly::CorrectStart () { COleDateTime dt (GetDateStart ()); int nWD = dt.GetDayOfWeek () - 1; int nWDS = TypeToDayOfWeek (GetStartDay ()) - 1; if (nWD == 0) { nWD = 7; } if (nWDS == 0) { nWDS = 7; } if (nWD != nWDS) { int delta = nWDS - nWD; if (delta < 0) { delta += 7; } dt += COleDateTimeSpan (delta, 0, 0, 0); } if (dt != GetDateStart ()) { SetDateStart (dt); } }
int CXTPCalendarDayViewTimeScale::CalcWidth(CDC* pDC) { // calculate actual correct width int nWidth1 = m_nWidth, nWidth2 = m_nWidth; // calculate width for midnight COleDateTime dtMid(0, 0); CString strHour, strMin; Format(dtMid, TRUE, &strHour, &strMin); COleDateTimeSpan spScaleInterval = GetScaleInterval(); int nRowHeight = XTP_SAFE_GET1(m_pDayView, GetRowHeight(), 1); int nHourHeight = nRowHeight * (CXTPCalendarUtils::GetTotalMinutes(spScaleInterval) < 60 ? 2 : 1); XTP_SAFE_CALL3(m_pDayView, GetPaintManager(), GetDayViewTimeScaleCellPart(), CalcWidth(pDC, strHour, strMin, nHourHeight, nWidth1)); // calculate width for midday dtMid += COleDateTimeSpan(0, 12, 0, 0); Format(dtMid, TRUE, &strHour, &strMin); XTP_SAFE_CALL3(m_pDayView, GetPaintManager(), GetDayViewTimeScaleCellPart(), CalcWidth(pDC, strHour, strMin, nHourHeight, nWidth2)); // choose the widest one m_nWidth = max(nWidth1, nWidth2); return m_nWidth; }
// 发送扣费记录 void CDlgAutoRegister::SendConsumeRecord( ConsumeNode& node ) { static const LONG CodePage_GB2312 = 936; // 简体中文 (GB2312) static const LONG WinHttpRequestOption_URLCodePage = 2; CWinHttpRequest HttpRequest(FALSE); try { HttpRequest.Create(); HttpRequest.SetOption(WinHttpRequestOption_URLCodePage, COleVariant(CodePage_GB2312)); HttpRequest.SetTimeouts(5000, 5000, 10000, 1000 * 15); CString strUrlMain = _T("http://"); strUrlMain += CNetBarConfig::GetInstance()->GetMainCenterIP(); strUrlMain.AppendFormat(_T(":%d"), CNetBarConfig::GetInstance()->GetMainCenterPort()); strUrlMain += _T("/netbar/interface/Consume.jsp"); strUrlMain.AppendFormat(_T("?pwd=%s"),_T("netbarneibushiyong")); strUrlMain.AppendFormat(_T("&submitTime=%s"), CIBAHelpper::FormatTime(COleDateTime::GetCurrentTime())); strUrlMain.AppendFormat(_T("&netBarId=%d"),CNetBarConfig::GetInstance()->GetNetBarId()); strUrlMain.AppendFormat(_T("&refNo=%d"), GetRandomRefNo()); strUrlMain.AppendFormat(_T("&serialNo=%d"), CIBAConfig::GetInstance()->GetLocalSerialNo()); strUrlMain.AppendFormat(_T("&memberId=%d"), node.nMemberId); strUrlMain.AppendFormat(_T("&checkinTime=%s"), node.checkInTime); strUrlMain.AppendFormat(_T("&checkoutTime=%s"), node.checkOutTime); strUrlMain.AppendFormat(_T("&classId=%d"), GetRandomClassID()); strUrlMain.AppendFormat(_T("&pcClass=%d"), GetPCClassID()); strUrlMain.AppendFormat(_T("&termId=%s"), GetRandomTermID()); strUrlMain.AppendFormat(_T("&amount=%d"), node.nAmount); strUrlMain.AppendFormat(_T("&timeConsume=%d"), node.nTimeConsume); strUrlMain.Replace(_T(" "), _T("%20")); GXX_TRACE(_T("扣消费记录的请求: %s"), strUrlMain.GetString()); HttpRequest.Open(strUrlMain.GetString()); HttpRequest.Send(); DeRegisterNode deRegNode; deRegNode.OldDeRegisterTime = node.OleCheckOutTime + COleDateTimeSpan(0, 0, 5, 0); // 下机后5分钟退款 deRegNode.nMemberId = node.nMemberId; _tcscpy(deRegNode.idNumber, node.idNumber); _tcscpy(deRegNode.name, node.name); deRegNode.bInvalid = 0; m_cs.Lock(); m_arrDeRegisterNode.push_back(deRegNode); m_cs.Unlock(); GXX_TRACE(_T("Response: %s"), HttpRequest.GetResponseText()); } catch(...) { } }
//**************************************************************************************** void CBCGPDateTimeCtrl::SetMaxDate(DATE newValue) { COleDateTime dateMax = newValue; COleDateTime dateEmpty; if (m_MinDate < dateMax) { m_MaxDate = dateMax; if (m_MaxDate.GetHour () == 0 && m_MaxDate.GetMinute () == 0) { m_MaxDate -= COleDateTimeSpan (0, 0, 1, 0); // 1 minute before } if (m_Date > m_MaxDate && m_MaxDate != dateEmpty) { m_Date = m_MaxDate; OnDateChanged (); } if (GetSafeHwnd() != NULL) { RedrawWindow (); } } }
void CBCGPPlannerViewMonth::OnActivate(CBCGPPlannerManagerCtrl* pPlanner, const CBCGPPlannerView* pOldView) { ASSERT_VALID(pPlanner); if (pOldView != NULL) { m_Date = pOldView->GetDate (); } m_nDuration = 35; m_DateStart = CalculateDateStart ( COleDateTime(m_Date.GetYear (), m_Date.GetMonth (), m_Date.GetDay (), 0, 0, 0)); m_DateEnd = m_DateStart + COleDateTimeSpan (m_nDuration - 1, 23, 59, 59); if (m_Date > m_DateEnd || m_Date < m_DateStart) { m_Date = m_DateStart; } COleDateTime sel1 (m_Date); COleDateTime sel2 (m_Date); if (pOldView != NULL) { sel1 = pOldView->GetSelectionStart (); sel2 = pOldView->GetSelectionEnd (); } SetSelection (sel1, sel2, FALSE); CBCGPPlannerView::OnActivate (pPlanner, NULL); }
// Start the server. This blocks until the server stops. void AgentConfigurationEx::start ( ) { GLogger.Fatal("AgentConfigurationEx::start\n"); for ( int i = 0; i < _devices.size( ); i++ ) { ABBAdapter *_cmdHandler = new ABBAdapter(this, config, _devices[i]); _cncHandlers.push_back(_cmdHandler); _group.create_thread(boost::bind(&ABBAdapter::Cycle, _cncHandlers[i]) ); } if ( Globals.ResetAtMidnight ) { COleDateTime now = COleDateTime::GetCurrentTime( ); COleDateTimeSpan tilnextreset = COleDateTimeSpan(0, 1, 0, 0); GLogger.Fatal(StdStringFormat("Agent will Reset from now %8.4f\n", ( tilnextreset.GetTotalSeconds( ) / 3600.00 ) ) ); _resetthread.Initialize( ); _resetthread.AddTimer( (long) tilnextreset.GetTotalSeconds( ) * 1000, &_ResetThread, ( DWORD_PTR ) this, &_ResetThread._hTimer // stored newly created timer handle ); } AgentConfigurationT::start( ); // does not return }
CString CActiveMember::GetUseTimeAsString() { CString strTmp; if ( GetIsOnLine() ) { COleDateTime dtNow = COleDateTime::GetCurrentTime(); COleDateTimeSpan dts = dtNow - CheckInTime; //系统时间跟中心事件有差错时,可能存在为负的情况 if (dts < COleDateTimeSpan(0, 0, 0, 0))//时间为负 { strTmp.Format(_T("%.2d:%.2d"), 0, 0); } else//正常 { //{ 2011/04/22-gxx: 修改原来支持最大时长24小时为总时长, GetHours()-->GetTotalHours() int nHours = (int)dts.GetTotalHours(); strTmp.Format(_T("%.2d:%.2d"), nHours, dts.GetMinutes()); //} } } return strTmp; }
void CXTPDatePickerItemMonth::OnMouseMove(UINT /*nFlags*/, CPoint point) { if ((m_pControl->m_mouseMode == CXTPDatePickerControl::mouseDeselecting || m_pControl->m_mouseMode == CXTPDatePickerControl::mouseSelecting) && (m_rcDaysArea.PtInRect(point) || m_rcWeekNumbers.PtInRect(point))) { // check day item CPoint ptWeekBegin(m_rcWeekNumbers.right + 3, point.y); CXTPDatePickerItemDay* pDay = HitTest(m_pControl->m_bSelectWeek ? ptWeekBegin : point, FALSE); if (pDay) { // save old clicked dates COleDateTime dtOldFirstClicked = m_pControl->m_dtFirstClicked; COleDateTime dtOldLastClicked = m_pControl->m_dtLastClicked; // calculate new clicked dates COleDateTime dtDay(pDay->GetDate()); if (m_pControl->m_bSelectWeek) { COleDateTime dtWeekEnd(dtDay + COleDateTimeSpan(6, 0, 0, 0)); if (dtWeekEnd >= m_pControl->m_dtFirstClicked) { if (dtDay.GetDayOfWeek() != m_pControl->m_dtFirstClicked.GetDayOfWeek()) m_pControl->m_dtFirstClicked -= COleDateTimeSpan(6, 0, 0, 0); m_pControl->m_dtLastClicked = dtWeekEnd; } if (dtDay < m_pControl->m_dtFirstClicked) { if (dtDay.GetDayOfWeek() == m_pControl->m_dtFirstClicked.GetDayOfWeek()) m_pControl->m_dtFirstClicked += COleDateTimeSpan(6, 0, 0, 0); m_pControl->m_dtLastClicked = dtDay; } } else { m_pControl->m_dtLastClicked = dtDay; } // update control if needed if (((dtOldLastClicked - m_pControl->m_dtLastClicked).GetDays() != 0) || ((dtOldFirstClicked - m_pControl->m_dtFirstClicked).GetDays() != 0)) { m_pControl->RedrawControl(); } } } }
BOOL CFullBundleTimeInfo::IsNowEnabled() { if (m_strEndTime.IsEmpty()) //没有固定时间的包时 { return TRUE; } BOOL bNowCanBT = FALSE; COleDateTime StartTime, EndTime, CurTime = COleDateTime::GetCurrentTime(); StartTime.ParseDateTime(m_strStartTime); StartTime.SetDateTime(CurTime.GetYear(), CurTime.GetMonth(), CurTime.GetDay(), StartTime.GetHour(), StartTime.GetMinute(), StartTime.GetSecond()); EndTime.ParseDateTime(m_strEndTime); EndTime.SetDateTime(CurTime.GetYear(), CurTime.GetMonth(), CurTime.GetDay(), EndTime.GetHour(), EndTime.GetMinute(), EndTime.GetSecond()); if (StartTime > EndTime) //跨天包时 { if (CurTime < EndTime) { StartTime -= COleDateTimeSpan(1, 0, 0, 0); //减去一天 } else { EndTime += COleDateTimeSpan(1, 0, 0, 0); //加上一天 } } if (CurTime < StartTime) //包时还没开始 { } else if (CurTime > EndTime) //包时已经过期,只能开始算明天的包时 { } else //包时正在进行 { bNowCanBT = TRUE; } return bNowCanBT; }
BOOL CBCGPPlannerViewMonth::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { int nPrevOffset = m_nScrollOffset; switch (nSBCode) { case SB_LINEUP: m_nScrollOffset -= 1; break; case SB_LINEDOWN: m_nScrollOffset += 1; break; case SB_TOP: m_nScrollOffset = 0; break; case SB_BOTTOM: m_nScrollOffset = m_nScrollTotal; break; case SB_PAGEUP: m_nScrollOffset -= m_nScrollPage; break; case SB_PAGEDOWN: m_nScrollOffset += m_nScrollPage; break; case SB_THUMBPOSITION: case SB_THUMBTRACK: m_nScrollOffset = nPos; break; default: return FALSE; } if (m_nScrollOffset == nPrevOffset) { return FALSE; } int nOffset = m_nScrollOffset - nPrevOffset; COleDateTimeSpan span = COleDateTimeSpan (nOffset * 7, 0, 0, 0); m_Date += span; m_DateStart += span; m_DateEnd += span; SetSelection (m_Selection [0] + span, m_Selection [1] + span); QueryAppointments (); return CBCGPPlannerView::OnVScroll (nSBCode, nPos, pScrollBar); }
void CBCGPPlannerViewWorkWeek::SetDate (const COleDateTime& date) { COleDateTime dt (date.GetYear (), date.GetMonth (), date.GetDay (), 0, 0, 0); m_DateStart = CalculateDateStart (dt); m_DateEnd = m_DateStart + COleDateTimeSpan (GetWorkWeekInterval () - 1, 23, 59, 59); CBCGPPlannerView::SetDate (dt); }
void CNDTermConsumeView::OnTimer(UINT nIDEvent) { COleDateTime dtTmp; dtTmp = COleDateTime::GetCurrentTime(); dtTmp += COleDateTimeSpan(0, 0, 1, 0); m_EndTime.SetDate(dtTmp); CIBAFormView::OnTimer(nIDEvent); }
void COCalendar::WalkDays(int i) { COleDateTime dt=m_WMCtrl.GetLastClicked(); if(i>0){ dt+=COleDateTimeSpan(i,0,0,0); }else{ dt-=COleDateTimeSpan(-i,0,0,0); } COleDateTime dt1; COleDateTime dt2; m_WMCtrl.GetDateRange(&dt1,&dt2); if(m_WMCtrl.GetCellByDate(dt) && dt>=dt1 && dt<=dt2){ m_WMCtrl.HightlightCellByDate(dt); }else{ m_WMCtrl.SetCurrentDate(dt, FALSE, bMonView?WV_MONTHVIEW:WV_WEEKVIEW); m_WMCtrl.HightlightCellByDate(dt); RefreshCalendar(); } }
CBCGPPlannerViewMonth::CBCGPPlannerViewMonth() : CBCGPPlannerView () , m_nHeaderHeight (0) , m_nWeekBarWidth (0) , m_bDrawTimeFinish (TRUE) , m_bDrawTimeAsIcons (FALSE) , m_bCompressWeekend (TRUE) , m_nDuration (35) { m_DateEnd = m_DateStart + COleDateTimeSpan (m_nDuration - 1, 23, 59, 59); }
void CXTPCalendarController::SetFirstDayOfWeekToDatePicker() { if (m_pDatePickerCtrl && m_pCalendarCtrl) { int nFirstDayOfWeekIndex = m_pCalendarCtrl->GetFirstDayOfWeek(); //<<< int nOldFirstDayOfWeekIndex = m_pDatePickerCtrl->GetFirstDayOfWeek(); COleDateTime dt1, dt2; m_pDatePickerCtrl->GetSelRange(dt1, dt2); dt1 += COleDateTimeSpan(nFirstDayOfWeekIndex - nOldFirstDayOfWeekIndex, 0, 0, 0); dt2 += COleDateTimeSpan(nFirstDayOfWeekIndex - nOldFirstDayOfWeekIndex, 0, 0, 0); int nViewType = m_pCalendarCtrl->GetActiveView()->GetViewType(); if (nViewType == xtpCalendarWeekView) m_pDatePickerCtrl->SetSelRange(dt1, dt2); //>>> m_pDatePickerCtrl->SetFirstDayOfWeek(nFirstDayOfWeekIndex); } }
void CCalendarCtrl::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { int nInc = 0; switch (nSBCode) { case SB_TOP: case SB_LINEUP: case SB_PAGEUP: nInc = -1; break; case SB_BOTTOM: case SB_LINEDOWN: case SB_PAGEDOWN: nInc = 1; break; case SB_THUMBTRACK: nInc = nPos - m_nVscrollPos; break; case SB_ENDSCROLL: default: nInc = 0; } m_nVscrollPos += nInc; if(nInc) { COleDateTime newDate = m_DateCurrent; if(nInc > 0) newDate += COleDateTimeSpan(abs(7*nInc),0,0,0); else newDate -= COleDateTimeSpan(abs(7*nInc),0,0,0); if((m_BoundUp > newDate) && (newDate > m_BoundDown)) Goto(newDate); else m_nVscrollPos -= nInc; SetScrollPos(SB_VERT, m_nVscrollPos, TRUE); } SetFocus(); CWnd::OnVScroll(nSBCode, nPos, pScrollBar); }
CString CFullBundleTimeInfo::GetEndTime(BOOL bForce /*= FALSE*/) { if (bForce && m_strEndTime.IsEmpty()) { COleDateTime dtTmp = COleDateTime::GetCurrentTime(); dtTmp += COleDateTimeSpan(0, m_nTimePass, 0, 0); return dtTmp.Format(_T("%H:%M:%S")); } return m_strEndTime; }
// /////////////////////////////////////////////////////////////////////////// // COleDateTime MaxMonthDate( int month, int year ) { if (++month > 12) { month = 1; year++; } COleDateTime date(year, month, 01, 0,0,0); date -= COleDateTimeSpan(0,0,1,0); return date; }
void CBCGPRecurrenceRuleDaily::CorrectStart () { if (m_Type == BCGP_REC_RULE_DAILY_TYPE_WEEKDAYS) { COleDateTime dt (GetDateStart ()); int nWD = dt.GetDayOfWeek (); if (nWD == 1) { dt += COleDateTimeSpan (1, 0, 0, 0); } else if (nWD == 7) { dt += COleDateTimeSpan (2, 0, 0, 0); } if (dt != GetDateStart ()) { SetDateStart (dt); } } }
int CCalSupport::GetDaysInMonth() { int iYear = m_pCalSym->m_iYear; int iNextMonth = m_pCalSym->m_iMonth + 1; if (iNextMonth == 13) { iNextMonth = 1; iYear++; } COleDateTime Date(iYear, iNextMonth, 1, 0,0,0); // The first day of next month Date -= COleDateTimeSpan(1,0,0,0); // 1 day return Date.GetDay(); }
void CBCGPPlannerViewMonth::SetDateInterval (const COleDateTime& date1, const COleDateTime& date2) { ASSERT (date1 <= date2); COleDateTimeSpan duration (date2 - date1); m_nDuration = ((int)(duration.GetTotalDays () / 7.0)) * 7; if (m_nDuration < duration.GetTotalDays ()) { m_nDuration += 7; } if (m_nDuration < 14) { m_nDuration = 14; } else if (m_nDuration > 42) { m_nDuration = 42; } COleDateTime _date1 (date1); if (IsCompressWeekend () && CBCGPPlannerManagerCtrl::GetFirstDayOfWeek () == 0) { _date1 += COleDateTimeSpan (1, 0, 0, 0); } m_DateStart = GetFirstWeekDay2 (_date1, CBCGPPlannerManagerCtrl::GetFirstDayOfWeek () + 1); m_DateEnd = m_DateStart + COleDateTimeSpan (m_nDuration - 1, 23, 59, 59); if (m_DateEnd < m_Date || m_Date < m_DateStart) { m_Date = m_DateStart; } SetDate (m_Date); }
// /////////////////////////////////////////////////////////////////////////// // COleDateTime Time2AdjustedDate( const CString& sTime, const COleDateTime& startDate ) { int hr,min; String2HourMin(sTime, hr, min); // If the given time is before the startDate's time, then the target date is one day further // if ((hr < startDate.GetHour()) || ((hr == startDate.GetHour()) && (min < startDate.GetMinute()))) { COleDateTime dt = startDate + COleDateTimeSpan(1,0,0,0); return COleDateTime(dt.GetYear(), dt.GetMonth(), dt.GetDay(), hr, min, 0); } return COleDateTime(startDate.GetYear(), startDate.GetMonth(), startDate.GetDay(), hr, min, 0); }