void CTest_mfcDlg::OnButton1()
{
// TODO: Add your control notification handler code here
COleDateTime t,tWeekBegin,tWeekEnd;
t=COleDateTime::GetCurrentTime();
// t.SetDate(2013,3,24);
//这里需要注意的是西方人的习惯和我们不一样,他们把星期天当做
//每个星期的第一天,如下面的函数GetDayOfWeek就是如此,所以我做了下面的一些转换
int nWeek = t.GetDayOfWeek();
COleDateTimeSpan tsWeekBegin,tsWeekEnd;
if(1==nWeek)
{
tsWeekBegin.SetDateTimeSpan(6,0,0,0);
tsWeekEnd.SetDateTimeSpan(0,0,0,0);
}else
{
tsWeekBegin.SetDateTimeSpan(nWeek-2,0,0,0);
tsWeekEnd.SetDateTimeSpan(8-nWeek,0,0,0);
}
tWeekBegin = t-tsWeekBegin;
tWeekEnd= t+tsWeekEnd;
CString str = t.Format("%Y-%m-%d");
CString str1 = tWeekBegin.Format("%Y-%m-%d");
CString str2 =tWeekEnd.Format("%Y-%m-%d");
SetDlgItemText(IDC_STATIC1,str1);
SetDlgItemText(IDC_STATIC2,str2);
SetDlgItemText(IDC_STATIC,str);
}
{
// TODO: Add your control notification handler code here
COleDateTime t,tWeekBegin,tWeekEnd;
t=COleDateTime::GetCurrentTime();
// t.SetDate(2013,3,24);
//这里需要注意的是西方人的习惯和我们不一样,他们把星期天当做
//每个星期的第一天,如下面的函数GetDayOfWeek就是如此,所以我做了下面的一些转换
int nWeek = t.GetDayOfWeek();
COleDateTimeSpan tsWeekBegin,tsWeekEnd;
if(1==nWeek)
{
tsWeekBegin.SetDateTimeSpan(6,0,0,0);
tsWeekEnd.SetDateTimeSpan(0,0,0,0);
}else
{
tsWeekBegin.SetDateTimeSpan(nWeek-2,0,0,0);
tsWeekEnd.SetDateTimeSpan(8-nWeek,0,0,0);
}
tWeekBegin = t-tsWeekBegin;
tWeekEnd= t+tsWeekEnd;
CString str = t.Format("%Y-%m-%d");
CString str1 = tWeekBegin.Format("%Y-%m-%d");
CString str2 =tWeekEnd.Format("%Y-%m-%d");
SetDlgItemText(IDC_STATIC1,str1);
SetDlgItemText(IDC_STATIC2,str2);
SetDlgItemText(IDC_STATIC,str);
}
本文介绍如何使用MFC控件在应用程序中获取当前周的开始和结束日期,并将这些日期以字符串形式显示。通过设置日期时间变量和调用相关函数,实现了从当前时间到指定周的日期转换。
2928

被折叠的 条评论
为什么被折叠?



