QTime如何add/substract时间QT/C++
QTime how to add/substract time QT/C++
我正在尝试 add/substract 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”,这是为什么,我在看什么?
你的问题是 addSecs()
是一个 const 函数:https://doc.qt.io/qt-5/qtime.html#addSecs 它不修改对象而是 returns 一个新的 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 小时。
我正在尝试 add/substract 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”,这是为什么,我在看什么?
你的问题是 addSecs()
是一个 const 函数:https://doc.qt.io/qt-5/qtime.html#addSecs 它不修改对象而是 returns 一个新的 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 小时。