PySide6.QtCore.QTime

class QTime

QTime 类提供了时钟时间功能。更多

概要

方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

一个QTime对象包含一个时钟时间,它可以表示为自午夜以来的小时、分钟、秒和毫秒数。它提供了比较时间和通过添加毫秒数来操作时间的函数。QTime对象应该通过值传递,而不是通过常量引用传递;它们只是封装了int

QTime 使用24小时制格式;它没有上午/下午的概念。与 QDateTime 不同,QTime 对时区或夏令时(DST)一无所知。

一个 QTime 对象通常通过显式提供小时、分钟、秒和毫秒数来创建,或者通过使用静态函数 currentTime() 来创建,该函数创建一个表示系统本地时间的 QTime 对象。

hour()minute()second()msec()函数提供了访问时间的小时、分钟、秒和毫秒数的方法。同样的信息也可以通过toString()函数以文本格式提供。

addSecs()addMSecs() 函数提供了比给定时间晚一定秒数或毫秒数的时间。相应地,可以使用 secsTo()msecsTo() 来找到两个时间之间的秒数或毫秒数。

QTime 提供了一组完整的操作符来比较两个 QTime 对象;较早的时间被认为比较晚的时间小;如果 A. msecsTo (B) 是正数,那么 A < B。

QTime 对象也可以通过使用 fromString() 从文本表示创建,并使用 toString() 转换为字符串表示。所有与字符串格式之间的转换都是使用 C 语言环境完成的。对于本地化的转换,请参阅 QLocale

另请参阅

QDate QDateTime

class TimeFlag
__init__()

构造一个空时间对象。对于空时间,isNull() 返回 true,而 isValid() 返回 false。如果你需要一个零时间,请使用 QTime (0, 0)。对于一天的开始,请参见 startOfDay()

另请参阅

isNull() isValid()

__init__(h, m[, s=0[, ms=0]])
Parameters:
  • h – 整数

  • m – 整数

  • s – 整数

  • ms – int

构造一个时间,包含小时 h,分钟 m,秒 s 和毫秒 ms

h 必须在 0 到 23 的范围内,ms 必须在 0 到 59 的范围内,ms 必须在 0 到 999 的范围内。

另请参阅

isValid()

__reduce__()
Return type:

字符串

__repr__()
Return type:

字符串

addMSecs(ms)
Parameters:

ms – 整数

Return type:

QTime

返回一个包含比此对象时间晚ms毫秒的QTime对象(如果ms为负,则返回更早的时间)。

请注意,如果时间超过午夜,将会循环。参见addSecs()以获取示例。

如果此时间无效,则返回空时间。

addSecs(secs)
Parameters:

秒数 – 整数

Return type:

QTime

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

返回一个包含比此对象时间晚s秒的QTime对象(如果s为负数,则返回更早的时间)。

请注意,如果时间过了午夜,将会重新开始计算。

如果此时间无效,则返回空时间。

示例:

QTime n(14, 0, 0) # n == 14:00:00
t = QTime()
t = n.addSecs(70) # t == 14:01:10
t = n.addSecs(-70) # t == 13:58:50
t = n.addSecs(10 * 60 * 60 + 5) # t == 00:00:05
t = n.addSecs(-15 * 60 * 60) # t == 23:00:00
static currentTime()
Return type:

QTime

返回系统时钟报告的当前时间。

请注意,精度取决于底层操作系统的精度;并非所有系统都提供1毫秒的精度。

此外,currentTime() 仅在每天内增加;每当午夜过去时,它将减少24小时;除此之外,如果发生夏令时转换,它的变化可能不会与经过的时间相对应。

static fromMSecsSinceStartOfDay(msecs)
Parameters:

msecs – 整数

Return type:

QTime

返回一个新的QTime实例,时间设置为从当天开始(即从00:00:00开始)的msecs数。

如果 msecs 超出有效范围,将返回一个无效的 QTime

另请参阅

msecsSinceStartOfDay()

static fromString(string, format)
Parameters:
  • 字符串 – str

  • format – str

Return type:

QTime

这是一个重载函数。

static fromString(string[, format=Qt.TextDate])
Parameters:
Return type:

QTime

这是一个重载函数。

static fromString(string, format)
Parameters:
  • 字符串 – str

  • format – str

Return type:

QTime

这是一个重载函数。

static fromString(string[, format=Qt.TextDate])
Parameters:
Return type:

QTime

返回使用给定的formatstring表示的时间转换为QTime,如果不可能则返回无效时间。

另请参阅

toString() toTime()

static fromString(string, format)
Parameters:
  • 字符串 – str

  • format – str

Return type:

QTime

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

返回由string表示的QTime,使用给定的format,如果字符串无法解析,则返回无效时间。

这些表达式可以用于格式:

表达式

输出

h

不带前导零的小时(0到23,或者如果是AM/PM显示则为1到12)

hh

带有前导零的小时(00到23,或者如果是AM/PM显示则为01到12)

H

不带前导零的小时(0到23,即使显示AM/PM)

HH

带有前导零的小时(00 到 23,即使显示 AM/PM)

m

不带前导零的分钟(0到59)

mm

带有前导零的分钟(00 到 59)

s

整个秒数,没有前导零(0到59)

ss

整个秒数,适用时带前导零(00到59)

z 或 zz

秒的小数部分,通常跟在小数点后面,不需要尾随的零(0 到 999)。因此 "s.z" 匹配秒,最多三位小数部分,提供毫秒精度,不需要尾随的零。例如,"s.z" 会识别 "00.250""0.25" 作为表示一分钟中的四分之一秒的时间。

zzz

秒的三位小数部分,精确到毫秒,包括适用的尾随零(000到999)。例如,"ss.zzz" 会拒绝 "0.25",但会识别 "00.250" 作为表示一分钟中的四分之一秒的时间。

AP, A, ap, a, aP 或 Ap

表示上午12:00之前的时间为‘AM’,之后的时间为‘PM’,匹配时不区分大小写。

所有其他输入字符将被视为文本。任何用单引号括起来的非空字符序列也将被视为文本(去掉引号),而不会被解释为表达式。

time = QTime.fromString("1mm12car00", "m'mm'hcarss")
# time is 12:01.00

如果格式不满足,将返回一个无效的QTime。不希望提供前导零的表达式(h、m、s和z)是贪婪的。这意味着即使这会使它们超出接受值的范围,并且为其他部分留下太少的数字,它们也会使用两位数字(对于z是三位)。例如,以下字符串可能意味着00:07:10,但m将抓取两位数字,导致时间无效:

time = QTime.fromString("00:710", "hh:ms") # invalid()

任何未在格式中表示的字段都将被设置为零。例如:

time = QTime.fromString("1.30", "m.s")
# time is 00:01:30.000

注意

如果要识别上午或下午的本地化形式(AP、ap、Ap、aP、A或a格式),请使用system().toTime()。

注意

如果格式字符重复的次数超过了上表中使用它的最长表达式,这部分格式将被读取为多个表达式,它们之间没有分隔符;最长的表达式可能会重复多次,最后可能以一个较短的表达式作为剩余部分。因此'HHHHH'将匹配"08088""080808"并将小时设置为8;如果时间字符串包含“070809”,它将“匹配”但会产生不一致的结果,导致时间无效。

hour()
Return type:

整数

返回时间的小时部分(0到23)。

如果时间无效,则返回-1。

另请参阅

minute() second() msec()

isNull()
Return type:

布尔

如果时间为空(即使用默认构造函数构造的QTime对象),则返回true;否则返回false。空时间也是无效时间。

另请参阅

isValid()

isValid()
Return type:

布尔

如果时间有效,则返回true;否则返回false。例如,时间23:30:55.746是有效的,但24:12:30是无效的。

另请参阅

isNull()

static isValid(h, m, s[, ms=0])
Parameters:
  • h – 整数

  • m – 整数

  • s – 整数

  • ms – int

Return type:

布尔

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

这是一个重载函数。

如果指定的时间有效,则返回 true;否则返回 false。

如果h在0到23之间,ms在0到59之间,且ms在0到999之间,则时间有效。

示例:

QTime.isValid(21, 10, 30) # returns true
QTime.isValid(22, 5, 62) # returns false
minute()
Return type:

整数

返回时间的分钟部分(0到59)。

如果时间无效,则返回-1。

另请参阅

hour() second() msec()

msec()
Return type:

整数

返回时间的毫秒部分(0到999)。

如果时间无效,则返回-1。

另请参阅

hour() minute() second()

msecsSinceStartOfDay()
Return type:

整数

返回自当天开始以来的毫秒数,即自00:00:00以来的毫秒数。

msecsTo(t)
Parameters:

tQTime

Return type:

整数

返回从当前时间到t的毫秒数。如果t早于当前时间,则返回的毫秒数为负数。

因为 QTime 测量一天内的时间,而一天有86400秒,所以结果总是在 -86400000 和 86400000 毫秒之间。

如果任一时间无效,则返回0。

__ne__(rhs)
Parameters:

rhsQTime

Return type:

布尔

如果 lhsrhs 不同,则返回 true;否则返回 false

__lt__(rhs)
Parameters:

rhsQTime

Return type:

布尔

如果 lhs 早于 rhs,则返回 true;否则返回 false

__le__(rhs)
Parameters:

rhsQTime

Return type:

布尔

如果 lhs 早于或等于 rhs,则返回 true;否则返回 false

__eq__(rhs)
Parameters:

rhsQTime

Return type:

布尔

如果 lhs 等于 rhs,则返回 true;否则返回 false

__gt__(rhs)
Parameters:

rhsQTime

Return type:

布尔

如果 lhs 晚于 rhs,则返回 true;否则返回 false

__ge__(rhs)
Parameters:

rhsQTime

Return type:

布尔

如果 lhs 晚于或等于 rhs,则返回 true;否则返回 false

second()
Return type:

整数

返回时间的第二部分(0到59)。

如果时间无效,则返回-1。

另请参阅

hour() minute() msec()

secsTo(t)
Parameters:

tQTime

Return type:

整数

返回从当前时间到t的秒数。如果t早于当前时间,则返回的秒数为负数。

因为QTime测量一天内的时间,而一天有86400秒,所以结果总是在-86400和86400之间。

secsTo() 不考虑任何毫秒。

如果任一时间无效,则返回0。

另请参阅

addSecs() secsTo()

setHMS(h, m, s[, ms=0])
Parameters:
  • h – 整数

  • m – 整数

  • s – 整数

  • ms – int

Return type:

布尔

将时间设置为小时 h, 分钟 m, 秒 s 和毫秒 ms

h 必须在0到23的范围内,ms 必须在0到59的范围内,ms 必须在0到999的范围内。如果设置的时间有效,则返回 true;否则返回 false

另请参阅

isValid()

toPython()
Return type:

对象

toString(format)
Parameters:

format – str

Return type:

字符串

toString([f=Qt.TextDate])
Parameters:

fDateFormat

Return type:

字符串

这是一个重载函数。

返回时间作为字符串。format参数决定了字符串的格式。

如果 formatTextDate,字符串格式为 HH:mm:ss;例如,午夜前一秒将是“23:59:59”。

如果 formatISODate,字符串格式对应于 ISO 8601 扩展规范中的日期表示,表示为 HH:mm:ss。要在 ISO 8601 日期中包含毫秒,请使用 format ISODateWithMs,它对应于 HH:mm:ss.zzz。

如果 formatRFC2822Date,字符串将以 RFC 2822 兼容的方式格式化。这种格式化的一个例子是“23:59:20”。

如果时间无效,将返回一个空字符串。

toString(format)
Parameters:

format – str

Return type:

字符串