MFC-日期控件DataTime的使用详述
这里我们想做一个日期控件的小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);
编译一下,大功告成!
MFC-日期控件DataTime的使用详述相关推荐
- MFC日期控件(DateTimePicker)
引用一个DateTimePicker控件,关联变量m_date为DateTimeCtrl类型: 1. 获取日期控件 CTime date; m_date.GetTime(data); //就可以获得日 ...
- 【基础篇】DatePickerDialog日期控件的基本使用(一)
项目步骤: 1.首先在Main.xml布局文件中添加一个Button标签,用来点击显示日期控件,Main.xml内容如下: <RelativeLayout xmlns:android=" ...
- jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?...
jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...
- ASP.NET中 Calendar(日期控件)的使用
ylbtech-ASP.NET-Control-Basic:Calendar(日期控件)的使用 ASP.NET中 Calendar(日期控件)的使用. 1.A,运行效果返回顶部 Calendar(日期 ...
- Wdatepicker日期控件的使用指南
示例2-3-1 起始日期简单应用 示例2-3-2 alwaysUseStartDate属性应用 示例2-3-3 使用内置参数 示例 2-4-1: 年月日时分秒 示例 2-4-2 时分秒 示例 2-4- ...
- 公司--页面调用日期控件 WdatePicker日历控件使用方法
<td style="width:120px;"><input type="text" name="lpd_<%=prodTa ...
- IE5下通过、不会被列表框遮挡的日期控件
一般不会被列表框遮挡的日期控件都是用一个透明的iframe来做的,但在IE5下因为透明风格不被支持却无法正常使用.这个控件直接使用iframe作为日期选择界面,就解决了兼容性问题.不过只有简单的选择功 ...
- 精确到秒的JQuery日期控件,jquery日历插件,jquery日期插件
2019独角兽企业重金招聘Python工程师标准>>> 效果图如下: 首先在页面中引用一下库: <link type="text/css" href=&qu ...
- MVC模式下My97DatePicker日期控件引用注意事项
My97DatePicker日期控件之前在用webform模式开发的时候,只要 <script language="javascript" type="text/j ...
最新文章
- linux的网络命令整理 更新中
- c++ DirectShow播放任意格式的视频
- Docker中RocketMQ的安装与使用
- 只用一套解决方案,就可解决80%的交通物流行业信息难题
- 用properties写的一个程序运行次数计数的程序代码,超过次数提示注册。
- 拓端tecdat|python用遗传算法 神经网络 模糊逻辑控制算法对彩票乐透数据进行预测
- 11、基于STM32的智能药盒
- win7计算机excel快捷键,excel快捷键大全 公式
- word 流程图制作
- postman测试Excel文件导入导出功能
- nc65右键生成菜单_NC65管理员层级管控
- 使用napi node_使用Napi / node-addon-api和Cmake的独立于Node.js版本的C ++ Native Addon
- 从零开始系统化学Android,手慢无
- mac 微信多开 应用程序多开
- (三)OpenCV中的图像处理之轮廓
- python---爬虫
- 【已解决】问题:打开Chrome显示2345浏览器而不是Google浏览器
- oracle官方网址
- 文件夹选择框 文件选择框
- 解义盼:比特大陆大规模裁员,资本的寒冬到了?