VC++怎么取得前几天或者后几天的时间

在VC++时我们可能使用CTime类的GetCurrentTime()方法来取得当前的时间,那么我们怎么去取得昨天的时间,或者是明天的时间呢?

可能有些朋友会认为取得明天的时间不就当前时间减去24*3600吗?取得明天的时间只是把减号改成加号不就成了吗?

如果我们这样写.

 

CTime nowTime,preOneTime,nextOneTime;
nowTime = CTime::GetCurrentTime();
preOneTime = nowTime - 24 * 3600;
nextOneTime = nowTime + 24 * 3600;

我当初也是想当然的认为该这样写,编译器都是报一些不明确的操作符之类的错误信息.

正确的写法我们应该使用CTimeSpan这个类,它是描述一个时间间隔的类.同样完成上面的功能,我们正确的写法如下:

 

CTime nowTime,preOneTime,nextOneTime;
CTimeSpan spanTime(1,0,0,0);//间隔时间为一天
nowTime = CTime::GetCurrentTime();
preOneTime = nowTime - spanTime;//昨天的时间
nextOneTime = nowTime + spanTime;//明天的时间

这样就能正确的得到昨天和明天的时间了.

机器人 2007-7-23 于 北京

 

此条目发表在 c/c++ 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>