VC控件DateTimePicker使用方法

来源:互联网 发布:结对编程的优缺点 编辑:程序博客网 时间:2024/05/16 07:23

使用DateTimePicker控件一般是获取其时间替代手工输入带来的不便,而 DateTimePicker控件既可以获取日期(2010-03-05)也可以获取时间(16:27:33),要获取日期只需要更改控件属性的格式为长 日期或短日期,要获取时间则将格式更改为时间即可!

         在添加控件变量时,选择其变量类型为CDateTimeCtrl(类如m_DateCtrl);在程序中定义CTime对象用来保存获取的时间,然后可以将其转换为CString类型;具体实现:

       CTime time;
       m_DateCtrl.GetTime(time);
       CString strTime=time.Format("%Y-%m-%d")     //获取到的为日期 如:2010-03-05

       CTime time;
       m_DateCtrl.GetTime(time);
       CString strTime=time.Format("%H:%M:%S")     //获取到的为时间 如:16:27:33


 

VC2005或以上版本中DateTimePicker控件的使用

1、显示年月日时分秒的当前时间
CDateTimeCtrl m_DateItmeCtrl_Time;
m_DateItmeCtrl_Time.SetFormat(_T("yyyy-MM-dd HH:mm:ss"));
CTime TimeTemp=TimeTemp.GetCurrentTime();
m_DateItmeCtrl_Time.SetTime(&TimeTemp);

其中HH表示24小时制,hh表示12小时制
2、如果声明一个控件类型为CTime的变量,那么时间将显示1970-01-01  08:00:00.

3、将DateTimePicker控件声明变量类型为COleDateTime
COleDateTime转CString
CString strTime;
COleDateTime   dtTime;  
strTime =dtTime.Format(_T("%Y-%m-%d %H:%M:%S"));  


4、CString转COleDateTime(因为VS2005时间日期控件关联的Value变量默认是COleDateTime类型)
CString strTime =_T("2009-08-11 11:22:33");
COleVariant VariantTime;
VariantTime = strTime;
VariantTime.ChangeType(VT_DATE);
COleDateTime DataTime = VariantTime;

 

SetTime时 参数需要为指针

  m_ctrlMachineDeliveryDate.SetTime(&CTime::GetCurrentTime()); //将控件显示当前日期
  m_ctrlMachineInstallDate.SetTime(&CTime::GetCurrentTime());

 

 CTime tDeliveryDate;
 m_ctrlMachineDeliveryDate.GetTime(tDeliveryDate); //获取发货日期
 pMachineInfoSet->m_MACHINE_DELIVERYDATE = tDeliveryDate; 

 

  CTime tDeliveryDate;
  tDeliveryDate = pMachineInfoSet->m_MACHINE_DELIVERYDATE; //获取记录中的日期
  m_ctrlMachineDeliveryDate.SetTime(&tDeliveryDate);   //将记录中的日期赋值到DateTime控件中显示

原创粉丝点击