double A,B为毫秒级时间戳,如何取出做差并转为一个毫秒级的QString时间
时间: 2024-12-15 14:26:51 浏览: 38
在C++中,如果你有两个double类型的变量A和B,它们代表的是毫秒级别的时间戳,你可以通过以下步骤将它们相减得到一个整数表示的时间差,并将其转换为QString类型:
1. 首先,将两个double时间戳转换为long long整型,因为double可能存在精度损失,而long long可以保存更长的时间间隔:
```cpp
long long timeDiff = static_cast<long long>(B) - static_cast<long long>(A);
```
2. 然后计算时间差的毫秒值:
```cpp
int milliseconds = static_cast<int>(timeDiff / 1000);
```
这里除以1000是因为我们已经得到了秒级别的差,需要转换回毫秒。
3. 将这个毫秒值转换成QString格式:
```cpp
QString elapsedTimeStr = QString::number(milliseconds);
```
这里使用`QString::number()`函数将整数转换成字符串。
完整代码示例:
```cpp
#include <QDateTime>
#include <QString>
double A, B; // 毫秒级别时间戳
// ... (假设A和B已赋值)
long long timeDiff = static_cast<long long>(B) - static_cast<long long>(A);
int milliseconds = static_cast<int>(timeDiff / 1000);
QString elapsedTimeStr = QString::number(milliseconds);
```
阅读全文
相关推荐












