hur.cn - 华软网

 热门搜索

关于VC自带的DATETIMEPICKER

  作者:未知    来源:网络    更新时间:2011/5/13
请问,DATETIMEPICKER能不能设置年月日时分秒,还有如何获取2个DATATIMEPICKER的时间差。
---华软 网友回答---
1、为DATETIMEPICKER控件增加控制变量,CTime m_dateTime;
2、初始化,可以放在InitDlg中完成:
   m_dateTime = CTime::GetCurrentTime(); // 现在的时间
   或者
   m_dateTime = CTime::CTime(year, month, day, hour, minute, second);// 自定义时间

   UpdateData(FALSE);
3、计算时间差需要自己写函数计算,我现在是这样觉得的。
   UpdateData(TRUE);
   通过GetYear()等获得年月日时分秒,然后计算
---华软网友回复---
改style-》format-》‘short date’

你的控件关联的CDateTimeCtrl类型的变量
CDateTimeCtrl m_TimeCtrl; 

然后初始化里面
m_TimeCtrl.SetFormat("yyyy-M-d HH:mm:ss");

这样就可以同时显示日期、时间
---华软网友回复---
CDateTimeCtrl::GetTime获得时间
或者直接给控件关联Value的CTime变量

时间之差可以直接做减法,差为CTimeSpan类型,参考MSDN

// example for CTime::operator  +, -
CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999
CTimeSpan ts = t2 - t1;  // Subtract 2 CTimes
ASSERT( ts.GetTotalSeconds() == 86400L );
ASSERT( ( t1 + ts ) == t2 );  // Add a CTimeSpan to a CTime.
ASSERT( ( t2 - ts ) == t1 );  // Subtract a CTimeSpan from a Ctime.

     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。