一、描述
QTime 对象包含一个时钟时间,它可以表示为自午夜以来的小时数、分钟数、秒数、毫秒数。
它提供了比较时间和通过添加毫秒数来操纵时间的功能。
QTime 对象应该通过值而不是通过引用 const 来传递。
二、成员函数
1、QString toString(const QString &format)
以字符串形式返回时间。 format 参数确定结果字符串的格式。
- h:没有前导零的小时(0 到 23 或 1 到 12)
- hh:带前导零的小时(00 到 23 或 01 到 12)
- H:没有前导零的小时(0 到 23)
- HH:带前导零的小时(00 到 23)
- m:没有前导零的分钟(0 到 59)
- mm:带前导零的分钟(00 到 59)
- s:整秒,没有任何前导零(0到59)
- ss:整秒,在适用时带有前导零(00 到 59)
- z:秒的小数部分,在小数点之后,没有尾随零(0 到 999)。
- zzz:秒的小数部分,精确到毫秒,包括适用的尾随零(000 到 999)。
- AP 或 A:使用 AM/PM 显示。
- ap 或 a:使用 am/pm 显示。
- t:时区(例如“CEST”)
支持不带分隔符的格式(例如“ddMM”),但必须小心使用,因为结果字符串并不总是可靠可读的(例如,如果“dM”产生“212”,它可能意味着 12 月 2 日或 21 日 二月)。
2、QTime addMSecs(int ms) / QTime addSecs(int s)
返回的 QTime 对象包含比此对象的时间晚(如果 ms 为负则更早)的时间 ms 毫秒 / s秒。
3、[static] QTime currentTime()
返回系统时钟报告的当前时间。
准确性取决于底层操作系统的准确性; 并非所有系统都提供 1 毫秒的精度。
4、[static] QTime fromMSecsSinceStartOfDay(int msecs)
返回一个新的 QTime 实例,其时间设置为自一天开始以来的毫秒数,即自 00:00:00 以来。
如果毫秒超出有效范围,将返回无效的 QTime。
5、[static] QTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)
QString toString(Qt::DateFormat format = Qt::TextDate)
使用给定的格式返回在字符串中表示为 QTime 的时间。
6、 [static] QTime fromString(const QString &string, const QString &format)
使用给定的格式返回由字符串表示的 QTime。
qDebug()<< QTime::fromString("21:12:22", "hh:mm:ss");
qDebug()<< QLocale::system().toTime("21:12:22", "hh:mm:ss");
7、int hour() / int minute() /int second() / int msec()
返回时间的小时部分(0 到 23)/ 分钟(0 到 59)/ 秒(0 到 59)/ 毫秒(0 到 999)。
如果时间无效,则返回 -1。
8、bool isNull()
如果时间为 null(即 QTime 对象是使用默认构造函数构造的),则返回 true;否则返回false。 空时间也是无效时间。
9、bool isValid()
时间是否有效。例如 24:12:30 无效。
10、[static] bool isValid(int h, int m, int s, int ms = 0)
指定的时间是否有效。
如果 h 在 0 到 23 的范围内,m 和 s 在 0 到 59 的范围内,并且 ms 在 0 到 999 的范围内,则时间有效。
11、int msecsSinceStartOfDay()
返回自一天开始以来的毫秒数,即自 00:00:00 以来。
12、int msecsTo(QTime t)
返回从当前时间到 t 的毫秒数。如果 t 早于此时间,则返回的毫秒数为负数。
QTime测量的是一天内的时间,一天有86400秒,所以结果总是在-86400000到86400000毫秒之间。
如果任一时间无效,则返回 0。
13、int secsTo(QTime t)
返回从这个时间到 t 的秒数。 如果 t 早于此时间,则返回的秒数为负数。
QTime测量的是一天内的时间,一天有86400秒,所以结果总是在-86400到86400之间。
如果任一时间无效,则返回 0。
14、bool setHMS(int h, int m, int s, int ms = 0)
设置时间。如果设置的时间有效,则返回 true,否则返回false。
h 必须在 0 到 23 的范围内,m 和 s 必须在 0 到 59 的范围内,并且 ms 必须在 0 到 999 的范围内。