我在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
...
这对我来说听起来很奇怪,这种疏忽的原因是什么?
答案 0 :(得分:0)
我认为问题是,增加一分钟是非常困难的:它可能意味着增加60秒或61秒(闰秒)。作为时刻,一分钟有61秒不知道提前知道,Qt设计师将这一点留给你。
答案 1 :(得分:0)
addMins(minutes)
等同于addSecs(minutes * 60)
,那么为什么还要为这种简单的计算提供另一种便利方法呢?如果API设计是我的,我想我已经做了类似的决定。将日期,月份,年份添加到日期需要更复杂的计算,并且不能轻易地替换另一个。由于QDateTime只是QDate + QTime的包装,我认为这应该解释接口。