VS2010 MFC中 Date Time Picker控件的使用
1. 在工具箱中找到Date Time Picker控件,然后拖放到对话框上。
2. 在其属性中按自己的需求做一些设置。
Format 属性:Long Date (长日期):****年**月**日
Short Date(短日期):2013/10/26(或 2013-10-26)
Show None 属性:用于将日期值设为空。
Use Spin Control 属性:提供一个调整时间的按钮,一个上(增加),一个下(减少)。
Allow Edit 属性:可以编辑整行。
……
3. 利用类向导给控件添加变量:CString m_date。
用 UpdateDate(True); 即可获得日期或时间。
4. 如果只是需要获取的话,上面就OK了。若需要在控件上显示给定的日期的字符串,则还要添加控制变量:CDateTimeCtrl m_datectrl;
代码如下: CString datestr = "2013/10/25";
//如果不想拆分字符串,那么可以通过COleDateTime来转换成CTime
COleDateTime dt;
dt.ParseDateTime(datestr); //将日期值存到dt中
SYSTEMTIME st; //定义一个系统时间类型的变量
dt.GetAsSystemTime(st); //将dt中的时间按系统时间格式化
CTime m_Date(st);
m_datectrl.SetTime(&m_Date);
下面记录下有关资料:http://hi.baidu.com/stupan/item/9bd7a946dee5eba960d7b96f
一. 自设DateTimePicker的时间
CString mTime;
mTime = " 2013/10/26 12:25:32"; //自设时间
//在界面上有两DataTimePicker控件
CTime m_Date;//短日期:IDC_DATETIMEPICKER1
CTime m_Time;//时间:IDC_DATETIMEPICKER2
请问如何将字符串赋值到此二控件上?
答:
//如果不想拆分字符串,那么可以通过COleDateTime来转换成CTime
COleDateTime dt;
dt.ParseDateTime(mTime); //将mTime的时间值存到dt中
SYSTEMTIME st; //定义一个系统时间类型的变量
dt.GetAsSystemTime(st); //将dt中的时间按系统时间格式化
CTime tm(st); //定义CTime对象并将st赋值给它
m_Time = tm; //控件会自动获取其需要的时间部分
m_Date = tm;
这样就可以了。
二. 读取数据库的时间
//Cdoc是数据库类XXXSet 的对象, m_ctrlDTPicker1是DateTimePicker的控制变量
Cdoc.Open(); //打开数据库
Cdoc.MoveFirst(); //跳转到的一条记录
m_ctrlDTPicker1.SetTime(Cdoc.m_PI_DATE); //将数据库变量Cdoc.m_PI_DATE的值赋给DateTimePicker并显示
cdoc.Close(); //关闭数据库
三. 储存选择的时间到数据库
//Cdoc是数据库类XXXSet 的对象, m_ctrlDTPicker1是DateTimePicker的控制变量
CDocumentationSet cdoc;
cdoc.Open(); //打开数据库
cdoc.Edit(); //进入编辑模式
m_ctrlDTPicker1.GetTime(cdoc.m_PI_DATE); //获取日期并储存到数据库变量Cdoc.m_PI_DATE中
cdoc.Update(); //更新数据库
cdoc.Close(); //关闭数据库
*pResult = 0;