QT 03:25:99 转成秒longlong
时间: 2023-11-04 17:04:17 浏览: 148
在中,时间格式为"hh:mm:ss",即时、分、秒之间使用冒号分隔。但是你提供的时间格式中有99秒,而秒数的范围是0到59,因此这个时间格式是不合法的。
如果你提供的时间格式为"hh:mm:ss.zzz",其中zzz表示毫秒数,那么可以使用下面的代码将时间转换为longlong类型的秒数:
```
QString timeString = "03:25:99";
QTime time = QTime::fromString(timeString, "hh:mm:ss.zzz");
qint64 seconds = time.msecsSinceStartOfDay() / 1000;
qint64 milliseconds = time.msecsSinceStartOfDay() % 1000;
qint64 totalSeconds = seconds + milliseconds / 1000;
```
其中,第一行代码将时间字符串转换为QTime对象,第二行代码使用QTime类的msecsSinceStartOfDay方法获取从当天0点开始到当前时间的毫秒数,第三行代码将毫秒数转换为秒数,并将整数部分赋值给seconds变量,第四行代码计算剩余的毫秒数,并将其转换为秒数,最后将两部分时间相加得到总秒数totalSeconds。
但是请注意,这种转换方法仅对合法的时间格式有效,对于不合法的时间格式,需要先进行格式修正或者抛出异常。
阅读全文