0

我正在尝试在 QTime 对象中添加/减去时间。

QString time = "10:00:00";
QTime tobj = QTime::fromString(currentTime,"hh:mm:ss");
tobj.addSecs(3600);
qDebugs() << "time:" << tobj;

我希望调试器输出“11:00:00”,但它只是保持“10:00:00”,这是为什么,我在看什么?

4

1 回答 1

2

您的问题是addSecs()一个 const 函数:https : //doc.qt.io/qt-5/qtime.html#addSecs 它不会修改对象,而是返回一个新的 QTime 对象。

解决此问题的一种方法是执行以下操作:

QString time = "10:00:00";
QTime tobj = QTime::fromString(time,"hh:mm:ss").addSecs(3600);
qDebugs() << "time:" << tobj;

QTime::fromString(time,"hh:mm:ss")在这里,我将您的调用的输出链接到addSecs(3600)设置为tobj将提前 1 小时的值。

于 2020-01-25T21:56:25.437 回答