QT将秒转换成 hh:mm:ssQString
时间: 2024-05-15 15:13:44 浏览: 164
可以使用以下代码将秒数转换为 hh:mm:ss 的格式:
```cpp
int seconds = 3661; // 要转换的秒数
int h = seconds / 3600; // 小时数
int m = (seconds - h * 3600) / 60; // 分钟数
int s = seconds - h * 3600 - m * 60; // 秒数
QString timeStr = QString("%1:%2:%3").arg(h, 2, 10, QChar('0')).arg(m, 2, 10, QChar('0')).arg(s, 2, 10, QChar('0')); // 格式化输出
```
其中,`QString("%1:%2:%3")` 将会按照格式 `%1:%2:%3` 进行字符串格式化,`arg()` 方法用于将 `h`、`m`、`s` 的值填充到格式化字符串中,格式化字符串中的 `%1` 会被 `h` 的值替换,`%2` 会被 `m` 的值替换,`%3` 会被 `s` 的值替换。`arg()` 方法中的第二个参数 `2` 表示输出的宽度为 2 个字符,第三个参数 `10` 表示使用十进制表示,最后一个参数 `QChar('0')` 表示左侧填充字符为 '0'。
例如,将 3661 秒转换为 hh:mm:ss 的格式后,输出的字符串为 "01:01:01"。
阅读全文