如何在Qt中将秒(双倍)转换为QDateTime

How to convert seconds (double) to QDateTime in Qt?

本文关键字:双倍 转换 QDateTime Qt      更新时间:2023-10-16

我以双精度格式存储了秒数(但如果要考虑的话,它们是整数值)。我想将它们转换为hh:mm:ss format字符串。怎么做?

例如,double secs = 120;be 00:02:00.

您可以使用其默认构造函数创建 QTime 对象,然后向其添加秒数:

double secs = 120;
QTime a(0,0,0);
a = a.addSecs(int(secs));

为什么不能将秒转换为小时、分钟和秒?

double secsDouble = 3666.0; // 1 hour, 1 min, 6 seconds.
int secs = (int)secsDouble;
int h = secs / 3600;
int m = ( secs % 3600 ) / 60;
int s = ( secs % 3600 ) % 60;
QTime t(h, m, s);
qDebug() << time.toString("hh:mm:ss");
QTime time;
time = time.addSecs((int)secs);
qDebug() << time.toString("hh:mm:ss");