QTime
QTime 适用场景:
-
计时器和倒计时:只需要时分秒的计时功能
-
日常时间管理:闹钟、日程安排中的时间部分
-
时间间隔计算:计算两个时间点之间的时长
-
性能测量:代码执行时间的测量
| 类别 | 方法/函数 | 描述 |
|---|---|---|
| 创建与获取 | QTime(int h, int m, int s = 0, int ms = 0) |
构造指定时间。参数范围:h(0-23), m(0-59), s(0-59), ms(0-999)。 |
static QTime currentTime() |
获取系统当前时间。 | |
static QTime fromMSecsSinceStartOfDay(int msecs) |
从自当天开始以来的毫秒数创建时间。 | |
| 信息获取 | int hour() / minute() / second() / msec() |
获取时间各部分。 |
int msecsSinceStartOfDay() |
获取从当天开始以来的总毫秒数。 | |
| 有效性检查 | bool isNull() |
时间是否为空(默认构造)。 |
bool isValid() |
时间是否有效。 | |
static bool isValid(int h, int m, int s, int ms = 0) |
检查给定时间参数是否有效。 | |
| 时间运算 | QTime addSecs(int s) |
返回添加指定秒数后的时间。 |
QTime addMSecs(int ms) |
返回添加指定毫秒数后的时间。 | |
int secsTo(QTime t) |
计算到此时间t的秒数。 | |
int msecsTo(QTime t) |
计算到此时间t的毫秒数。 | |
| 字符串转换 | QString toString(const QString &format) |
按指定格式转换为字符串。 |
static QTime fromString(const QString &string, const QString &format) |
从字符串按指定格式解析为时间 |
//获取当前时间
//获取当前时间 QTime current = QTime::currentTime();
//获取结束时间
//获取结束时间 QTime startendTime = QTime::currentTime();
//计算耗时:单位:秒
//计算耗时:单位:秒 int elapsed_s = current.secsTo(startendTime);
//计算耗时:单位:毫秒
//计算耗时:单位:毫秒 int elapsed_ms = current.msecsTo(startendTime);
//获取当前的小时
//获取当前的小时 int hour = current.hour();
//获取当前的分钟
//获取当前的分钟 int minute = current.minute();
// 从字符串解析
// 从字符串解析 QTime parsedTime = QTime::fromString("14:30:25", "hh:mm:ss");
// 创建时间对象
// 创建时间对象 QTime time2(33, 30, 25, 500); // 14:30:25.500
// 有效性检查
// 有效性检查 if (time1.isValid()) { qDebug() << "时间有效"; }
💡 重要说明
-
时间格式:
QTime使用24小时制。 -
毫秒精度:实际精度依赖操作系统。
-
时间运算与回绕:使用
addSecs()或addMSecs()进行时间加减时,若结果超过23:59:59.999,时间会回绕到当天开始。这在设计跨过午夜的计时器时需要注意。

浙公网安备 33010602011771号