Как перевести милисекунды в нормальное для понимания время
Пишу небольшой плеер, используя QMediaPlayer. Есть сигнал, который срабатывает каждые 1000 миллисекунд.
Мне интересно, можно как-то перевести миллисекунды в нормальное время типа 2:23 (2 минуты двадцать три секунды), или нужно делать 2 виджета; один для минут, а второй для секунд?
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Воспользуйтесь классом QTime и, например, методом QTime::addMSecs(int ms)
QTime time(0, 0);
time = time.addMSecs(1000);
qDebug() << time; // Вывод в формате hh:mm:ss.zzz QTime("00:00:01.000")
time = time.addMSecs(1000);
qDebug() << time; // QTime("00:00:02.000")
time = time.addSecs(650); // + 650 секунд
qDebug() << time; // QTime("00:10:52.000")
...
Если надо в своем формате, то используем метод QTime::toString(const QString& format)
qDebug() << time.toString("mm.ss"); // 00.02
qDebug() << time.toString("mm:ss"); // 00:02