我一直在寻找QDateTime类中的addMinutes方法,但不幸的是,没有向datetime对象添加分钟这样的东西,我不得不使用addSecs方法。我查看了QDateTime类的头文件,注意到除了addMinutes之外,几乎所有的时间分辨率都有add-times方法:
...
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
...这对我来说听起来很奇怪,为什么会有这样的遗漏呢?
发布于 2016-01-25 20:50:08
我认为问题是,增加一分钟是相当困难的:它可能意味着增加60秒或61秒(闰秒)。由于一分钟有61秒的时刻并不是很早就知道的,所以Qt设计者把它留给了你。
发布于 2016-01-28 04:16:39
addMins(minutes)等同于addSecs(minutes * 60),那么为什么还要为如此简单的计算提供另一种方便的方法呢?我想,如果API设计是我的,我也会做出类似的决定。将日、月、年添加到日期需要更复杂的计算,并且其中一个不能轻易地被另一个替换。由于QDateTime只是QDate + QTime的一个包装器,我认为这应该可以解释这个接口。
https://stackoverflow.com/questions/34991211
复制相似问题