昨天小辉留言问:问一个如何判断单周双周的算法。我该如何计算出本年中某个日期为单周还是双周呢?
这个似乎还比较有用,主要就是CTime的用法了,看下成员函数,用起来很简单。这个软件没有什么技术含量。 源代码如下:
UpdateData(TRUE);//获取输入的日期 int m_month=GetDlgItemInt(IDC_EDIT1,0,TRUE); int m_day=GetDlgItemInt(IDC_EDIT2,0,TRUE); int m_monthfirst=GetDlgItemInt(IDC_EDIT6,0,TRUE); int m_dayfirst=GetDlgItemInt(IDC_EDIT7,0,TRUE); CTime timeFirst(2010,m_monthfirst,m_dayfirst,0,0,0);//设置{dy}天 CTime timeSet(2010, m_month, m_day, 0, 0, 0); //要计算的时间 CTimeSpan timeSub=timeSet-timeFirst;//两个时间相减 LONGLONG myDays=timeSub.GetDays();//相差多少天 //经过了几周时间,判断单周双周关键 CString str=(myDays/7)%2 ==0 ? "这{yt}是双周" : "这{yt}是单周"; SetDlgItemText(IDC_EDIT3, str); char str2[100]; itoa(myDays/7,str2,10); SetDlgItemText(IDC_EDIT4,str2); itoa(myDays,str2,10); SetDlgItemText(IDC_EDIT5,str2);
嗯。现在上传程序。CTimer还能得到星期几之类的消息。既然你只要判断单双周,这程序就可以了。
不知你是要什么样子的。呵呵。
我用的差不多的算法。不过用php弄的没法用你的代码 成功了。日期相减,除以7结果加上1. 不过我做的是课程表。地址是 单双周的课不一样,就用到这个算法了。谢谢点点了。辛苦辛苦。。让我知道你的编程能力很强啊。哈哈