QT 85399转QString HH:MM:sS
时间: 2024-01-03 22:11:32 浏览: 37
以下是将85399转换为HH:MM:SS的QString代码:
```cpp
#include <QCoreApplication>
#include <QString>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int seconds = 85399;
int hours = seconds / 3600;
int minutes = (seconds % 3600) / 60;
int secs = seconds % 60;
QString time = QString("%1:%2:%3").arg(hours, 2, 10, QLatin1Char('0'))
.arg(minutes, 2, 10, QLatin1Char('0'))
.arg(secs, 2, 10, QLatin1Char('0'));
qDebug() << time;
return a.exec();
}
```
输出结果为:`"23:46:39"`
相关问题
Qt 如何将hh:mm:ss时间显示为hh:mm分级时间
您可以使用Qt中的QTime类来将hh:mm:ss的时间格式转换为hh:mm分级时间。
首先,您需要将时间字符串转换为QTime对象。您可以使用QTime的静态函数fromString()来实现这一点。例如:
```cpp
QString timeString = "12:34:56";
QTime time = QTime::fromString(timeString, "hh:mm:ss");
```
接下来,您可以使用QTime的toString()函数将QTime对象转换为所需的格式。在这种情况下,您可以使用"hh:mm"作为格式字符串。例如:
```cpp
QString formattedTime = time.toString("hh:mm");
```
这样,您就可以将hh:mm:ss的时间格式显示为hh:mm分级时间。
完整的示例代码如下:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QTime>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString timeString = "12:34:56";
QTime time = QTime::fromString(timeString, "hh:mm:ss");
QString formattedTime = time.toString("hh:mm");
qDebug() << "Formatted Time:" << formattedTime;
return a.exec();
}
```
输出结果将是:
```
Formatted Time: "12:34"
```
希望这可以帮助到您!如果您有任何其他问题,请随时提问。
QT将秒转换成 hh:mm:ssQString
可以使用以下代码将秒数转换为 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"。