QDateTime类中缺少addMinutes的原因



我在QDateTime类中寻找addMinutes方法,但不幸的是,没有向日期时间对象添加分钟这样的事情,我不得不改用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
...

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

我认为

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

addMins(minutes)等价于addSecs(minutes * 60),那么为什么要为如此简单的计算提供另一种方便的方法呢?我想如果 API 设计是我的,我会做出类似的决定。将日、月、年添加到日期需要更复杂的计算,并且一个不容易被另一个取代。由于QDateTime只是QDate + QTime的包装器,我认为这应该解释界面。

相关内容

  • 没有找到相关文章

最新更新