c++如何实现时间的加减操作?

c++如何实现时间的加减操作,比如有一个时间2015-03-30 23:20:20,我想减去一个月,加上2小时,如何实现??望高手赐教,代码越简洁越好!

10个回答

分别单独处理时间和日期
如果时间处理时,发现要对日期进行变化,则调用日期变化的功能。日期变化的功能,其实也不难、就是麻烦。
需要判断是否是闰年?然后按 1、3、5、7、8、10、12 和 除了2月之外的其它月进行处理。

LoveRestart
理强 代码理解上这样是没问题,感觉就是太长了。。。
5 年多之前 回复
LoveRestart
理强 回复91program: 哈!这是我提的问题。。。
5 年多之前 回复
91program
91program 回复zhuwt2008: C++ 系统的函数确实没有这样的功能,需要实现一个简单的成年历才行。
5 年多之前 回复
zhuwt2008
zhuwt2008 想到还需要从日期中得到周几,汗!c++真是麻烦,难道日期操作不是很平常的吗?还要求全世界都去重复造这个轮子?
5 年多之前 回复
zhuwt2008
zhuwt2008 这好像是个很平常的功能,本来想不写代码,用c++或stl或开源的库,但是实在找不到,boost太庞大,而且感觉不直观,不想用,看来还是得自己写一点代码,而且仔细想一下,也并不复杂,你第一个提出定制的建议,就选为最佳答案吧,也多谢其他人的回答了!
5 年多之前 回复
91program
91program 刚好有人问了一个日期处理的问题,你可以考虑:http://ask.csdn.net/questions/183429
5 年多之前 回复

可以自己写一个时间类,然后重载加减运算符

CTime方法,或者直接用CTimeSpan就可以实现吧

zhuwt2008
zhuwt2008 我需要在linux也可以运行,所以不能用CTime啊
5 年多之前 回复

用Boost库吧,支持Day的加减,你只要确认自己的一个月是多少天就可以了。

Boost C++ Libraries

自己写一个,每月日期都是固定的

Linux也要运行,那就自己写吧。

建议定义时间类,重载加减运算符,可以满足你的要求

我只知道windows下可以用GetLocalTime来获取一个时间的结构体,然后对结构体中的月字段直接加减就好了。

用Boost库吧,支持Day的加减,你只要确认自己的一个月是多少天就可以了

立即提问