MFC-日期控件DataTime的使用详述
来源:互联网 发布:淘宝二手铁艺设备 编辑:程序博客网 时间:2024/05/29 17:02
这里我们想做一个日期控件的小demo,空间名为Datatimepicker,定义两个日期窗口,并且在edit窗口中显示两个日期空间所显示时间之间相差的年月日时分秒。以下为本人一步步的x详细操作:
首先前面板的控件就那么三个,前两个是日期控件,后一个为编辑框,用来显示时间间隔,效果图如下:
相应的id号改好,并将编辑文本框控件改成可换行,这可以在属性里设置。
这里附加上日期格式初始化的方式,WIndows里日期的标准格式为“yyyy-MM-dd HH:mm:ss”年月日时分秒,首先右键时间控件框添加俩变量,我这里命名为m_data_begin、m_data_end.在面板初始化函数里添加相应的代码: *(BOOL CDataTimeDemoDlg::OnInitDialog)*
m_data_begin.SetFormat(L"yyyy-MM-dd HH:mm:ss"); m_data_end.SetFormat(L"yyyy-MM-dd HH:mm:ss");//设置为标准的时间格式
既然我们的目的是计算出时间间隔,因此每次在控件的时间发生改变的时候都要响应某一个消息函数,分别点击两个控件右键类向导,添加相应的处理程序:
出现如下两个消息函数:
现在便是要在这个函数中获取当前时间,且将时间间隔输出到文本框控件中,添加如下的代码:
SYSTEMTIME time_begin={0},time_end={0}; m_data_begin.GetTime(&time_begin);//获取当前控件的时间 m_data_end.GetTime(&time_end);//获取另一控件的时间 /*WORD wYear;WORD wMonth;WORD wDayOfWeek;WORD wDay;WORD wHour;WORD wMinute;WORD wSecond;WORD wMilliseconds;SYSTEMTIME该结构体包含详细的年月日时分秒并不适于计算*/ FILETIME ft_begin,ft_end; //从1601年1月1日到今天的纳秒数,是另一种类型结构体 SystemTimeToFileTime(&time_begin,&ft_begin); SystemTimeToFileTime(&time_end,&ft_end); //相当于对filetime进行的初始化 /*typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime;包括高位和低位,并不能直接相减,这里引入一个联合体ULARGE_INTEGER*/ ULARGE_INTEGER u_begin,u_end; u_begin.u.HighPart=ft_begin.dwHighDateTime; u_begin.u.LowPart=ft_begin.dwLowDateTime; u_end.u.HighPart=ft_end.dwHighDateTime; u_end.u.LowPart=ft_end.dwLowDateTime; ULONGLONG ull_span;//用来存差值(纳秒) ull_span=u_begin.QuadPart>=u_end.QuadPart?(u_begin.QuadPart-u_end.QuadPart):(u_end.QuadPart-u_begin.QuadPart); //三目运算符 ULONGLONG ull_seconds=ull_span/10000000; int n_minutes=ull_seconds/60; int n_hours=n_minutes/60; int n_day=n_hours/24;//计算相应的日时分秒CString StrOutput; StrOutput.Format(L"秒数:%d\r\n分钟数:%d\r\n小时数:%d\r\n天数:%d\r\n",(int)ull_seconds,n_minutes,n_hours,n_day); SetDlgItemTextW(IDC_EDIT_OUTPUT,StrOutput);
编译一下,大功告成!
0 0
- MFC-日期控件DataTime的使用详述
- Android中DataTime控件的使用(九)
- MFC--table键的使用详述
- DataGridView的DataTime单元格控件
- 日期控件的使用
- 日期控件的使用
- MFC控件的使用
- MFC控件的使用
- MFC控件的使用
- MFC中使用日期控件设置,获取日期时间
- 使用CONVERT( )格式化Sql的DataTime类型
- 详述RegExp的使用
- 日期控件CalendarExtender的使用
- 使用struts2的日期控件
- my97日期控件的使用
- calendar日期控件的使用
- My97DatePicker日期控件的使用
- 日期、时间控件的使用
- 黑盒测试和白盒测试
- linux命令之mkdir
- Git 怎样保证fork出来的project和原project(上游项目)同步更新
- 互联网创业公司黑话指南 | 嘿嘿嘿……
- 阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
- MFC-日期控件DataTime的使用详述
- 【Linux】Linux下的目录权限
- 编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出
- 第1章-安装Node.js及相关要点-1.3.Node.js的全局变量和保留字
- 文章标题
- Android逆向助手反编译APK
- 干掉状态:从session到token
- 隔行变色+鼠标移上变色,for循环练习
- Tunnel Warfare HDU