QT软件开发: QTime序列化时间处理(字符串与秒毫秒互转)

Posted DS小龙哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT软件开发: QTime序列化时间处理(字符串与秒毫秒互转)相关的知识,希望对你有一定的参考价值。

需要加入的头文件:

#include <QTime>

一.  秒单位时间转为字符串时、分、秒格式输出

    int time_sec=100;
    QString timer=QTime(0, 0, 0).addSecs(int(time_sec)).toString(QString::fromLatin1("HH:mm:ss"));
    qDebug()<<timer; //输出:"00:01:40"

二.  秒单位时间转为字符串时、分、秒、毫秒格式输出

    int time_sec=100;
    QString timer=QTime(0, 0, 0,0).addSecs(int(time_sec)).toString(QString::fromLatin1("HH:mm:ss:zzz"));
    qDebug()<<timer; //输出:"00:01:40:000"

四.  毫秒单位时间转为字符串时、分、秒、毫秒格式输出

    int time_ms=1234;
    QString timer=QTime(0, 0, 0,0).addMSecs(int(time_ms)).toString(QString::fromLatin1("HH:mm:ss:zzz"));
    qDebug()<<timer; //输出:""00:00:01:234""

五、将字符串时、分、秒转为秒单位时间

     QString time_str="01:20:30"; //时分秒
     QTime time=QTime::fromString(time_str);
     qDebug()<<"时:"<<time.hour();
     qDebug()<<"分:"<<time.minute();
     qDebug()<<"秒:"<<time.second();
     qDebug()<<"总秒数:"<<time.hour()*60*60+time.minute()*60+time.second();
/*
时: 1
分: 20
秒: 30
总秒数: 4830
*/

六、将字符串时、分、秒、毫秒转为毫秒单位时间

     QString time_str="01:20:30.300"; //时分秒毫秒
     QTime time=QTime::fromString(time_str);
     qDebug()<<"时:"<<time.hour();
     qDebug()<<"分:"<<time.minute();
     qDebug()<<"秒:"<<time.second();
     qDebug()<<"毫秒:"<<time.msec();
     qDebug()<<"总毫秒数:"<<time.hour()*60*60*1000+time.minute()*60*1000+time.second()*1000+time.msec();
/*
时: 1
分: 20
秒: 30
毫秒: 300
总毫秒数: 4830300
*/

以上是关于QT软件开发: QTime序列化时间处理(字符串与秒毫秒互转)的主要内容,如果未能解决你的问题,请参考以下文章

Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:

在 QwtPlot 中使用 QTime 作为 X 轴

Qt中关于QTime类中QTime(int h, int m, int s=0, int ms = 0)

QTime 将秒数添加到新对象

Qt计算两个时间差

如何将整数变量转换为 QTime 对象