转关于使用月历控件时·时间不准确问题
2009-11-06 15:00
741 查看
vc6.0 GetCurSel()为什么得不到正确日期
悬赏分:15 - 解决时间:2009-9-4 11:13
问题补充:
悬赏分:15 - 解决时间:2009-9-4 11:13
在使用月历控件时,选择日期并将其显示出来,但显示的日期和选择的日期不一样,会差3,4年,为什么?要减去一个值才行。 CTime a; CString t; CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1); mCtrl->GetCurSel(a); CTime b(2011,7,2,0,0,0); CTime c(2008,1,1,0,0,0); m_SelectDay=a-(b-c);
问题补充:
我想知道为什么这个日期不准确,哪位给解释一下。
CTime a; CString t; CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1); mCtrl->GetCurSel(a); CTime b(2011,7,2,0,0,0); CTime c(2008,1,1,0,0,0); CTime time =a-(b-c); t = time.Format("%Y 年%m月%d日"); AfxMessageBox(t); 对的啊 CTime operator +( CTimeSpan timeSpan ) const; CTime operator -( CTimeSpan timeSpan ) const; CTimeSpan operator -( CTime time ) const; b和c都是CTime,所以它调用第三个-(CTimeSpan operator -( CTime time ) const;),所以它的返回值是CTimeSpan a是CTime,第二个参数是CTimeSpan,所以调用第二个-(CTime operator -( CTimeSpan timeSpan ) const;) b和c的时间差大约是两年多,你选择的时间减它,当然少了两了两年多 这是一个Bug void CDlgDlg::OnButton1() { // CTime a; CString t; CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1); // mCtrl->GetCurSel(a); SYSTEMTIME sysTime; ::SendMessage(mCtrl->GetSafeHwnd(), MCM_GETCURSEL, NULL, (LPARAM)&sysTime); // CTime time =a-(b-c); t.Format("%d 年%d月%d日",sysTime.wYear,sysTime.wMonth,sysTime.wDay); AfxMessageBox(t); }
相关文章推荐
- 使用Vue与ElementUI开发时,关于时间控件的问题
- 记录一个java.util.logging.Logger 使用中关于时间格式的问题
- 关于jquery-weui.js中时间控件datetimepicker的使用
- 关于使用CreateUserWinzard控件创建用户时出现连接数据库问题的解决方法
- asp使用js时间控件,实现下拉日历 解决UTF-8和GB2312的编码问题
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- layout使用ImageView控件里关于contentDescription属性的问题
- JSP使用base标签和时间控件时IE6下不能打开站点,已终止操作问题解决
- 关于MSHTML控件使用的问题
- 关于“此程序集中已使用了资源标识符 "Test.Searchn.resources”问题的解决办法
- 关于使用UniForm以其他控件为Parent时应该注意的问题
- Linux系统关于ACM时间的使用和文件目录的权限的问题
- <Unity UGUI><EasyTouch> 使用EasyTouch, 摇杆在Dynamic模式下,点击UI控件也会弹出的问题解决
- 关于redis使用set时设置超时时间的问题
- jquery UI Datepicker时间控件的使用及问题解决
- 使用My97时间控件后文本框的change时间不生效问题
- 关于COCOS2DX里面TableView控件使用的问题
- 关于jqui datepicker 使用enter选择日期后 点击input 没有打开日期控件问题
- 关于session过期返回主页解决方案之一以及js中的“和'使用问题
- 使用dsoframer控件出现"Unable to display the inactive document. Click here to reactivate the document."的问题