📄 subject_43924.htm
字号:
<p>
序号:43924 发表者:草叶 发表日期:2003-06-15 09:36:30
<br>主题:实现日期的任意计算
<br>内容:就是在程序中实现日期的任意计算(不一定是sql server数据库)<BR>比如,给定一个日期,我能得到任意加减后的日期值<BR>主要是操作日期的一些函数说明
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-06-15 13:10:15
<br>内容:这是时日类的最基本的功能<BR><BR>COleDateTime m_t1=COleDateTime::GetCurrectTime();<BR>COleDateTimeSpan m_tSpan=COleDateTimeSpan(90);<BR>COleDateTime m_t2=m_t1-m_tSpan;<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:草叶 回复日期:2003-06-16 10:39:22
<br>内容:想要以月为单位进行计算。<BR>比如:99-05-18加上8个月,成为2000-01-18?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-06-16 13:58:06
<br>内容:恐怕直接使用只能用天为单位。<BR>要用月的话,也可以,你的自己定义一个函数来处理。<BR>1)你必须弄清楚每个月的天数<BR>2)根据基月算出你加减这些月每个月的天数<BR>3)然后使用上述方法计算<BR>4)最后返回
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:草叶 回复日期:2003-06-21 03:13:45
<br>内容:能否告知几个有关日期计算的函数(vc++中)?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-06-21 11:39:29
<br>内容:MSDN查找CTime/CTimeSpan/COleDateTime/COleDateTimeSpan这几个类,仔细看它们的成员函数
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ax 回复日期:2003-06-21 14:17:43
<br>内容:void DataAddMonth(COleDateTime & date,int iMonth)<BR>{<BR> COleDateTime DtSave(date);<BR><BR> UINT nYear = DtSave.GetYear();<BR> UINT nMonth = DtSave.GetMonth();<BR> UINT nDay = DtSave.GetDay();<BR><BR> int iY = iMonth/12;<BR> int iTmp = iMonth % 12;<BR> <BR> nYear += iY;<BR><BR> if(iTmp > 0) // 加<BR> {<BR> int iAllM = iTmp + nMonth;<BR> if(iAllM > 12)<BR> {<BR> nYear ++;<BR> nMonth = iAllM - 12;<BR> }<BR> else <BR> nMonth = iAllM;<BR> }<BR> if(iTmp < 0) // 减<BR> {<BR> if(abs(iTmp) < nMonth)<BR> nMonth += iTmp;<BR> else<BR> {<BR> nYear--;<BR> nMonth += 12;<BR> nMonth += iTmp;<BR> }<BR> }<BR> UINT nNextM = nMonth + 1;<BR> COleDateTime DtNext(nYear,nNextM,1,0,0,0);<BR> COleDateTimeSpan DtSp(1);<BR> DtNext -= DtSp;<BR> if(nDay > DtNext.GetDay()) nDay = DtNext.GetDay();<BR> date = COleDateTime(nYear,nMonth,nDay,date.GetHour(),date.GetMinute(),date.GetSecond());<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -