CDateTimeCtrl 用法总结

来源:互联网 发布:面霜推荐 知乎 编辑:程序博客网 时间:2024/06/04 23:29

CDateTimeCtrl 用法总结

 一、时间的比较

      CDateTimeCtrl m_OutTime;
      CTime m_Time1;   //显示年月日
      CDateTimeCtrl m_OutHour;
      CTime m_Time2; //显示时分秒
      CDateTimeCtrl m_BackTime;
      CTime m_Time3; //年月日
      CDateTimeCtrl m_BackHour;
      CTime m_Time4;  //时分秒

      比较出去的时间是不是比回来的时间早

                    if((m_Time3.GetYear(),m_Time3.GetMonth(),m_Time3.GetDay())<(m_Time1.GetYear(),m_Time1.GetMonth(),m_Time1.GetDay())||(((m_Time3.GetYear      (),m_Time3.GetMonth(),m_Time3.GetDay())==(m_Time1.GetYear(),m_Time1.GetMonth(),m_Time1.GetDay()))&&(m_Time2>m_Time4)))
     {
               AfxMessageBox("回车时间与出车时间存在矛盾!请检查!!");
               return;
     }

 

二、CTime------->CString

      CTime c_time;

      CString str;

      str = c_time.Format("%Y-%m-%d %H:%M:%S");

 

三、CString-------->CTime

      CListCtrl m_ApplyBusList

      Ctime     m_starttime;

      CString   m_time1=m_ApplyBusList.GetItemText(nItem,1);
      COleDateTime   dt;
      dt.ParseDateTime(m_time1);
      SYSTEMTIME   st;
      dt.GetAsSystemTime(st);
      CTime   tm(st);
      m_StartTime=tm; 

 

四、char[]------------->Ctime

      char   a[20]   =   "2003-11-12   09:12:12 "
      int   nYear,nMonth,nDay,nHour,nMin,nSec;
      sscanf(a, "%d-%d-%d   %d:%d:%d ",&nYear,&nMonth,&nDay,&nHour,&nMin,&nSec);
      CTime   b(nYear,nMonth,nDay,nHour,nMin,nSec);


五、

1、CDateTimeCtrl::SetFormat--------------------------------------------指定格式输出

eg、 CDateTimeCtrl m_T1;
     m_T1.SetFormat(_T("yyyy-MM-dd HH:mm:ss"));


2、CTimeSpan-----------------------------------------------------------时间跨度

eg、 CTime m_EndTime,m_StartTime
     m_EndTime=CTime::GetCurrentTime();
     m_StartTime=m_EndTime-CTimeSpan(1,0,0,0);

3、COleDateTime time1(1977,4,16,2,2,2); //COleDataTime--->CTime
     SYSTEMTIME systime;
     VariantTimeToSystemTime(time1, &systime);
     CTime tm(systime);

    time_t time2=tm.GetTime(); //CTime--->time_t 
   COleDateTime time3(time2); //time_t--->COleDateTime
0 0