我是c ++的新手,但我根本无法让它工作。我试图以毫秒为单位获取系统当前时间并使用它做一些事情,但它无法正常工作。
Qt的
QDateTime qt = new QDateTime();
int x = qt.currentDateTimeUtc();
if(x%5 ==0){
//something
}
C ++
double sysTime = time(0);
if(sysTime%5.00 ==0.00){
}
我得到类型为double的二进制运算符错误的无效操作数。我不知道为什么?任何人都可以指出正确的方向
答案 0 :(得分:1)
对于QT,请尝试使用函数QDateTime::toMSecsSinceEpoch()
http://doc.qt.io/qt-5/qdatetime.html#toMSecsSinceEpoch
这将返回qint64 http://doc.qt.io/qt-5/qtglobal.html#qint64-typedef
答案 1 :(得分:0)
如果您尝试get the unix timestamp in milliseconds in C,可以尝试以下代码:
include "time.h"
...
time_t seconds;
time(&seconds);
unsigned long long millis = (unsigned long long)seconds * 1000;
虽然请注意这是乘以1000 - 它看起来像毫秒,但准确度是几秒 - 如果你每隔5秒尝试做一次,你的x % 5
代码判断就足够了,所以以下应该足够了:
time_t seconds; time(&seconds);