这里我们想做一个日期控件的小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的使用详述相关推荐

  1. MFC日期控件(DateTimePicker)

    引用一个DateTimePicker控件,关联变量m_date为DateTimeCtrl类型: 1. 获取日期控件 CTime date; m_date.GetTime(data); //就可以获得日 ...

  2. 【基础篇】DatePickerDialog日期控件的基本使用(一)

    项目步骤: 1.首先在Main.xml布局文件中添加一个Button标签,用来点击显示日期控件,Main.xml内容如下: <RelativeLayout xmlns:android=" ...

  3. jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?...

    jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...

  4. ASP.NET中 Calendar(日期控件)的使用

    ylbtech-ASP.NET-Control-Basic:Calendar(日期控件)的使用 ASP.NET中 Calendar(日期控件)的使用. 1.A,运行效果返回顶部 Calendar(日期 ...

  5. Wdatepicker日期控件的使用指南

    示例2-3-1 起始日期简单应用 示例2-3-2 alwaysUseStartDate属性应用 示例2-3-3 使用内置参数 示例 2-4-1: 年月日时分秒 示例 2-4-2 时分秒 示例 2-4- ...

  6. 公司--页面调用日期控件 WdatePicker日历控件使用方法

    <td style="width:120px;"><input type="text" name="lpd_<%=prodTa ...

  7. IE5下通过、不会被列表框遮挡的日期控件

    一般不会被列表框遮挡的日期控件都是用一个透明的iframe来做的,但在IE5下因为透明风格不被支持却无法正常使用.这个控件直接使用iframe作为日期选择界面,就解决了兼容性问题.不过只有简单的选择功 ...

  8. 精确到秒的JQuery日期控件,jquery日历插件,jquery日期插件

    2019独角兽企业重金招聘Python工程师标准>>> 效果图如下: 首先在页面中引用一下库: <link type="text/css" href=&qu ...

  9. MVC模式下My97DatePicker日期控件引用注意事项

    My97DatePicker日期控件之前在用webform模式开发的时候,只要 <script language="javascript" type="text/j ...

最新文章

  1. linux的网络命令整理 更新中
  2. c++ DirectShow播放任意格式的视频
  3. Docker中RocketMQ的安装与使用
  4. 只用一套解决方案,就可解决80%的交通物流行业信息难题
  5. 用properties写的一个程序运行次数计数的程序代码,超过次数提示注册。
  6. 拓端tecdat|python用遗传算法 神经网络 模糊逻辑控制算法对彩票乐透数据进行预测
  7. 11、基于STM32的智能药盒
  8. win7计算机excel快捷键,excel快捷键大全 公式
  9. word 流程图制作
  10. postman测试Excel文件导入导出功能
  11. nc65右键生成菜单_NC65管理员层级管控
  12. 使用napi node_使用Napi / node-addon-api和Cmake的独立于Node.js版本的C ++ Native Addon
  13. 从零开始系统化学Android,手慢无
  14. mac 微信多开 应用程序多开
  15. (三)OpenCV中的图像处理之轮廓
  16. python---爬虫
  17. 【已解决】问题:打开Chrome显示2345浏览器而不是Google浏览器
  18. oracle官方网址
  19. 文件夹选择框 文件选择框
  20. 解义盼:比特大陆大规模裁员,资本的寒冬到了?

热门文章

  1. win8.1装VHD的XP
  2. 免费杀毒软件卡巴斯基安装
  3. Android获取手机信号强度
  4. 计算机硬件故障与软件故障,计算机常见故障可分为硬件和软件故障,具体介绍...
  5. 数据结构期末考试——选择题
  6. 盘点 深度学习妖怪 之 激活函数妖
  7. Unity 调用打印机遇到的坑
  8. USB的DCP、CDP、SDP的区别
  9. 微信支付以及接入SDK支付
  10. 浅谈oracle树状结构层级查询