QDateTime类中缺少addMinutes的原因

时间:2016-01-25 11:13:39

标签: c++ qt sdk qt4 qt5

我在addMinutes类中寻找QDateTime方法,但遗憾的是没有添加分钟到datetime对象,我不得不使用addSecs方法。我查看了QDateTime类的头文件,并注意到add-times以外的所有时间分辨率都有addMinutes个方法:

...
 QDateTime addDays(int days) const;
 QDateTime addMonths(int months) const;
 QDateTime addYears(int years) const;
 QDateTime addSecs(int secs) const;
 QDateTime addMSecs(qint64 msecs) const
...

这对我来说听起来很奇怪,这种疏忽的原因是什么?

2 个答案:

答案 0 :(得分:0)

我认为问题是,增加一分钟是非常困难的:它可能意味着增加60秒或61秒(闰秒)。作为时刻,一分钟有61秒不知道提前知道,Qt设计师将这一点留给你。

答案 1 :(得分:0)

addMins(minutes)等同于addSecs(minutes * 60),那么为什么还要为这种简单的计算提供另一种便利方法呢?如果API设计是我的,我想我已经做了类似的决定。将日期,月份,年份添加到日期需要更复杂的计算,并且不能轻易地替换另一个。由于QDateTime只是QDate + QTime的包装,我认为这应该解释接口。