时间类构造函数

时间:2012-08-29 03:54:22

标签: c++

这是我写的一个实现,用于在C ++中添加hrs,min和sec 有没有办法通过将所有这些转换为秒并实现更简单的实现来实现这一点? 由于某种原因,它不会让我在这篇文章中添加代码:(

谢谢

2 个答案:

答案 0 :(得分:3)

将小时,分钟和秒转换为几秒钟是相当简单的:

total_seconds = hours*60*60 + minutes*60 + seconds;

答案 1 :(得分:2)

  

有没有办法通过将所有这些转换为秒并实现更简单的实现来实现它?

无论您采用哪种方式,您都需要经常更改秒与小时/分钟/秒之间的时间,因此使用其中一个或另一个进行存储不一定有巨大的好处。换句话说,从午夜起几秒钟可能更好,但也许不值得重写。对于像+-这样的东西,如果你不是只存储几秒钟,那么你可以轻松地计算它(参见马克的帖子),你的算术然后有一个函数可以从秒转换回小时/ min / sec将结果存储到数据成员中:

hours = seconds_since_midnight / 60 / 60;
minutes = seconds_since_midnight / 60 % 60;
seconds = seconds_since_midnight % 60;

假设您在23:59:00增加了120秒,您将获得午夜过后的值,因此您可以使用“total_seconds%24 * 60 * 60”来获得接下来午夜的60秒,相当于从“24:01:00”到00:01:00的包装。

(如果你想真正使用它,而不仅仅是这样做来教自己,那么考虑使用time()函数和相关的转换例程,如localtime()