在 Qt 中将 42010958 毫秒转换为小时:分钟:秒的最简洁方法是什么?

Aki*_*iva 4 c++ time qt milliseconds qtime

QTime类为我提供一些麻烦,因为它不允许我将毫秒设置为高于某些值,\xc2\xa0因此 \xc2\xa0 使这样的条目无效。:

\n\n
    QTime time;\n    time.setHMS(0,0,0,42010958); // I normally use a variable\n
Run Code Online (Sandbox Code Playgroud)\n\n

考虑到我正在处理的毫秒范围介于 about1000和之间1000000000,我不太热衷于编写大量整数转换代码来清理每个条目,但我会做我必须做的事情。

\n\n

42010958在 Qt 中将毫秒转换为最简洁的方法是什么Hours:Minutes:Seconds

\n

Jer*_*ner 7

“最干净”是一个品味问题,但我会这样做:

int milliseconds = 42010958;
int seconds      = milliseconds / 1000;
milliseconds     = milliseconds % 1000;
int minutes      = seconds / 60; 
seconds          = seconds % 60;
int hours        = minutes / 60;
minutes          = minutes % 60;

QTime time;
time.setHMS(hours, minutes, seconds, milliseconds);
Run Code Online (Sandbox Code Playgroud)