⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_43924.htm

📁 一些关于vc的问答
💻 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 &amp; date,int iMonth)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;COleDateTime DtSave(date);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;UINT nYear = DtSave.GetYear();<BR>&nbsp;&nbsp;&nbsp;&nbsp;UINT nMonth = DtSave.GetMonth();<BR>&nbsp;&nbsp;&nbsp;&nbsp;UINT nDay&nbsp;&nbsp; = DtSave.GetDay();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;int iY = iMonth/12;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int iTmp = iMonth % 12;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;nYear += iY;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if(iTmp &gt; 0)&nbsp;&nbsp;&nbsp;&nbsp;// 加<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int iAllM = iTmp + nMonth;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(iAllM &gt; 12)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nYear ++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMonth = iAllM - 12;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMonth = iAllM;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(iTmp &lt; 0) //&nbsp;&nbsp;减<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(abs(iTmp) &lt; nMonth)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMonth += iTmp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nYear--;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMonth += 12;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMonth += iTmp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;UINT nNextM = nMonth + 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;COleDateTime DtNext(nYear,nNextM,1,0,0,0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;COleDateTimeSpan DtSp(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;DtNext -= DtSp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(nDay &gt; DtNext.GetDay()) nDay = DtNext.GetDay();<BR>&nbsp;&nbsp;&nbsp;&nbsp;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 + -