VC控件DateTimePicker使用方法

使用DateTimePicker控件一般是獲 取其時間替代手工輸入帶來的不便,而DateTimePicker控件既可以獲取日期(2010-03-05)也可以獲取時間(16:27:33),要獲 取日期只需要更改控件屬性的格式爲長日期或短日期,要獲取時間則將格式更改爲時間即可!

     在添加控件變量時,選擇其變量類型爲CDateTimeCtrl(類如m_DateCtrl);在程序中定義CTime對象用來保存獲取的時間,然後可以將其轉換爲CString類型;具體實現:

1        CTime time;
2        m_DateCtrl.GetTime(time);
3        CString strTime=time.Format("%Y-%m-%d")     //獲取到的爲日期 如:2010-03-05
4 
5        CTime time;
6        m_DateCtrl.GetTime(time);
7        CString strTime=time.Format("%H:%M:%S")     //獲取到的爲時間 如:16:27:33

VC2005中DateTimePicker控件的使用

 1 1 顯示年月日時分秒的當前時間
 2 CDateTimeCtrl m_DateItmeCtrl_Time;
 3 m_DateItmeCtrl_Time.SetFormat(_T("yyyy-MM-dd HH:mm:ss"));
 4 CTime TimeTemp=TimeTemp.GetCurrentTime();
 5 m_DateItmeCtrl_Time.SetTime(&TimeTemp);
 6 
 7 其中HH表示24小時制,hh表示12小時制
 8  2 如果聲明一個控件類型爲CTime的變量,那麼時間將顯示1970-01-01  08:00:00.
 9 
10  3將DateTimePicker控件聲明變量類型爲COleDateTime
11 COleDateTime轉CString
12 CString strTime;
13 COleDateTime   dtTime;  
14 strTime =dtTime.Format(_T("%Y-%m-%d %H:%M:%S"));  

 CString轉COleDateTime(因爲VS2005時間日期控件關聯的Value變量默認是COleDateTime類型)

1 CString strTime =_T("2009-08-11 11:22:33");
2 COleVariant VariantTime;
3 VariantTime = strTime;
4 VariantTime.ChangeType(VT_DATE);
5 COleDateTime DataTime = VariantTime;

SetTime時 參數需要爲指針

 1   m_ctrlMachineDeliveryDate.SetTime(&CTime::GetCurrentTime()); //將控件顯示當前日期
 2   m_ctrlMachineInstallDate.SetTime(&CTime::GetCurrentTime());
 3 
 4  
 5 
 6  CTime tDeliveryDate;
 7  m_ctrlMachineDeliveryDate.GetTime(tDeliveryDate); //獲取發貨日期
 8  pMachineInfoSet->m_MACHINE_DELIVERYDATE = tDeliveryDate; 
 9 
10  
11 
12   CTime tDeliveryDate;
13   tDeliveryDate = pMachineInfoSet->m_MACHINE_DELIVERYDATE; //獲取記錄中的日期
14   m_ctrlMachineDeliveryDate.SetTime(&tDeliveryDate);   //將記錄中的日期賦值到DateTime控件中顯示

設定時間日期控件允許選擇的範圍

 1  CTime tCurrentTime= CTime::GetCurrentTime();
 2  CTimeSpan timespanOneMonth(30,0,0,0); //這裏設置爲當前日期推後30天
 3  CTime tEndTime = tCurrentTime +timespanOneMonth;
 4  m_ctrlADTipsDaysDate.SetRange(&tCurrentTime,&tEndTime);
 5  /*
 6  m_dtcTm:這個是DATE TIME PICKER控件變量
 7  CTime begin_tm(1970,1,1,8,0,0),end_tm(2038,1,19,3,14,7);
 8  m_dtcTm.SetRange(&begin_tm,&end_tm);
 9  m_tmClock=CTime::GetCurrentTime();//設置初始值爲當前時間
10  m_dtcTm.SetTime(&m_tmClock); 
11  //m_dtcTm.SetFormat("yyyy-MM-dd HH'時'mm'分'"); //設置字符串格式
12  m_dtcTm.SetFormat("yyyy-MM-dd HH:mm:ss");
13  */
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章