PySide6.QtCore.QTime¶
- class QTime¶
-
概要¶
方法¶
def
__init__()
def
__reduce__()
def
__repr__()
def
addMSecs()
def
addSecs()
def
hour()
def
isNull()
def
isValid()
def
minute()
def
msec()
def
msecsTo()
def
__ne__()
def
__lt__()
def
__le__()
def
__eq__()
def
__gt__()
def
__ge__()
def
second()
def
secsTo()
def
setHMS()
def
toPython()
def
toString()
静态函数¶
def
currentTime()
def
fromString()
def
isValid()
注意
本文档可能包含从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
。- class TimeFlag¶
- __init__()¶
构造一个空时间对象。对于空时间,
isNull()
返回true
,而isValid()
返回false
。如果你需要一个零时间,请使用QTime
(0, 0)。对于一天的开始,请参见startOfDay()
。- __init__(h, m[, s=0[, ms=0]])
- Parameters:
h – 整数
m – 整数
s – 整数
ms – int
构造一个时间,包含小时
h
,分钟m
,秒s
和毫秒ms
。h
必须在 0 到 23 的范围内,m
和s
必须在 0 到 59 的范围内,ms
必须在 0 到 999 的范围内。另请参阅
- __reduce__()¶
- Return type:
字符串
- __repr__()¶
- Return type:
字符串
返回一个包含比此对象时间晚
ms
毫秒的QTime
对象(如果ms
为负,则返回更早的时间)。请注意,如果时间超过午夜,将会循环。参见
addSecs()
以获取示例。如果此时间无效,则返回空时间。
另请参阅
警告
本节包含从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
另请参阅
返回系统时钟报告的当前时间。
请注意,精度取决于底层操作系统的精度;并非所有系统都提供1毫秒的精度。
此外,currentTime() 仅在每天内增加;每当午夜过去时,它将减少24小时;除此之外,如果发生夏令时转换,它的变化可能不会与经过的时间相对应。
返回一个新的
QTime
实例,时间设置为从当天开始(即从00:00:00开始)的msecs
数。如果
msecs
超出有效范围,将返回一个无效的QTime
。这是一个重载函数。
- static fromString(string[, format=Qt.TextDate])
- Parameters:
字符串 – str
format –
DateFormat
- Return type:
这是一个重载函数。
- static fromString(string, format)
- Parameters:
字符串 – str
format – str
- Return type:
这是一个重载函数。
- static fromString(string[, format=Qt.TextDate])
- Parameters:
字符串 – str
format –
DateFormat
- Return type:
返回使用给定的
format
将string
表示的时间转换为QTime
,如果不可能则返回无效时间。另请参阅
- static fromString(string, format)
- Parameters:
字符串 – str
format – str
- Return type:
警告
本节包含从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。
- isNull()¶
- Return type:
布尔
如果时间为空(即使用默认构造函数构造的
QTime
对象),则返回true
;否则返回false。空时间也是无效时间。另请参阅
- isValid()¶
- Return type:
布尔
如果时间有效,则返回
true
;否则返回false
。例如,时间23:30:55.746是有效的,但24:12:30是无效的。另请参阅
- static isValid(h, m, s[, ms=0])
- Parameters:
h – 整数
m – 整数
s – 整数
ms – int
- Return type:
布尔
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
这是一个重载函数。
如果指定的时间有效,则返回
true
;否则返回 false。如果
h
在0到23之间,m
和s
在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。
- msec()¶
- Return type:
整数
返回时间的毫秒部分(0到999)。
如果时间无效,则返回-1。
- msecsSinceStartOfDay()¶
- Return type:
整数
返回自当天开始以来的毫秒数,即自00:00:00以来的毫秒数。
返回从当前时间到
t
的毫秒数。如果t
早于当前时间,则返回的毫秒数为负数。因为
QTime
测量一天内的时间,而一天有86400秒,所以结果总是在 -86400000 和 86400000 毫秒之间。如果任一时间无效,则返回0。
另请参阅
如果
lhs
与rhs
不同,则返回true
;否则返回false
。如果
lhs
早于rhs
,则返回true
;否则返回false
。如果
lhs
早于或等于rhs
,则返回true
;否则返回false
。如果
lhs
等于rhs
,则返回true
;否则返回false
。如果
lhs
晚于rhs
,则返回true
;否则返回false
。如果
lhs
晚于或等于rhs
,则返回true
;否则返回false
。- second()¶
- Return type:
整数
返回时间的第二部分(0到59)。
如果时间无效,则返回-1。
返回从当前时间到
t
的秒数。如果t
早于当前时间,则返回的秒数为负数。因为
QTime
测量一天内的时间,而一天有86400秒,所以结果总是在-86400和86400之间。secsTo() 不考虑任何毫秒。
如果任一时间无效,则返回0。
- setHMS(h, m, s[, ms=0])¶
- Parameters:
h – 整数
m – 整数
s – 整数
ms – int
- Return type:
布尔
将时间设置为小时
h
, 分钟m
, 秒s
和毫秒ms
。h
必须在0到23的范围内,m
和s
必须在0到59的范围内,ms
必须在0到999的范围内。如果设置的时间有效,则返回true
;否则返回false
。另请参阅
- toPython()¶
- Return type:
对象
- toString(format)¶
- Parameters:
format – str
- Return type:
字符串
- toString([f=Qt.TextDate])
- Parameters:
f –
DateFormat
- Return type:
字符串
这是一个重载函数。
返回时间作为字符串。
format
参数决定了字符串的格式。如果
format
是TextDate
,字符串格式为 HH:mm:ss;例如,午夜前一秒将是“23:59:59”。如果
format
是ISODate
,字符串格式对应于 ISO 8601 扩展规范中的日期表示,表示为 HH:mm:ss。要在 ISO 8601 日期中包含毫秒,请使用format
ISODateWithMs
,它对应于 HH:mm:ss.zzz。如果
format
是RFC2822Date
,字符串将以 RFC 2822 兼容的方式格式化。这种格式化的一个例子是“23:59:20”。如果时间无效,将返回一个空字符串。
- toString(format)
- Parameters:
format – str
- Return type:
字符串