Qt时间

860阅读 0评论2015-04-21 l658775
分类:嵌入式

[Qt] Qt时间 [2013-09-02更新]

出处:
- QDateTime


QDateTime dateTime;
QString dateTime_str = dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss");

// 从字符串转换为毫秒(需完整的年月日时分秒)
datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz").toMSecsSinceEpoch();

// 从字符串转换为秒(需完整的年月日时分秒)
datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz").toTime_t();

// 从毫秒转换到年月日时分秒
datetime.fromMSecsSinceEpoch(1315193829218).toString("yyyy-MM-dd hh:mm:ss:zzz");

// 从秒转换到年月日时分秒(若有zzz,则为000)
datetime.fromTime_t(1315193829).toString("yyyy-MM-dd hh:mm:ss[:zzz]");



- 获取系统时间

#include

#include
...
QDateTime sysDateTime;
qDebug() <

- 延时(4.7之前的版本不能使用)


#include

#include
#include
...
qint64 startTime = QDateTime::currentMSecsSinceEpoch();
qDebug() << startTime;


while (1)
{
    if (QDateTime::currentMSecsSinceEpoch() - startTime > interval)  // interval为需要延时的时间(ms)
    {
        break;
    }

    QApplication::processEvents();  // 处理其他事件,避免出现假死
}
qDebug() << QDateTime::currentMSecsSinceEpoch();

- 计算2个操作的时间差
#include
#include
...
QTime startTime = QTime::currentTime();
QTime endTime = QTime::currentTime();
qDebug() << startTime.msecsTo(endTime);    // 结果为ms
上一篇:C++类中的枚举类型
下一篇:Uncompressing Linux... done, booting the kernel