1. 程式人生 > >Qt將毫秒轉化為時分秒格式

Qt將毫秒轉化為時分秒格式

在做視訊回放的時候,可以通過player.duration()的形式獲得視訊總時長,單位是ms,如得到時長為1137661ms,為了在頁面上通過一定的格式顯示,需要將毫秒轉化為時分秒的形式,轉化方法很簡單,如程式碼所示:

QString MainWindow::formatTime(int ms)
{
    int ss = 1000;
    int mi = ss * 60;
    int hh = mi * 60;
    int dd = hh * 24;

    long day = ms / dd;
    long hour = (ms - day * dd) / hh;
    long minute = (ms - day * dd - hour * hh) / mi;
    long second = (ms - day * dd - hour * hh - minute * mi) / ss;
    long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;

    QString hou = QString::number(hour,10);
    QString min = QString::number(minute,10);
    QString sec = QString::number(second,10);
    QString msec = QString::number(milliSecond,10);

    //qDebug() << "minute:" << min << "second" << sec << "ms" << msec <<endl;

    return hou + ":" + min + ":" + sec ;
}
可以靈活調節函式返回值的格式,使滿足顯示需求,本例中返回的形式是0:18:57,表示0小時18分57秒