Qt將毫秒轉化為時分秒格式
阿新 • • 發佈:2019-02-12
在做視訊回放的時候,可以通過player.duration()的形式獲得視訊總時長,單位是ms,如得到時長為1137661ms,為了在頁面上通過一定的格式顯示,需要將毫秒轉化為時分秒的形式,轉化方法很簡單,如程式碼所示:
可以靈活調節函式返回值的格式,使滿足顯示需求,本例中返回的形式是0:18:57,表示0小時18分57秒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 ; }