- class QTime#
-
概要#
方法#
def
__init__()
def
__reduce__()
def
__repr__()
def
addMSecs()
def
addSecs()
def
hour()
def
isNull()
def
isValid()
def
minute()
def
msec()
定义
msecsTo()
定义
__ne__()
定义
__lt__()
定义
__le__()
定义
__eq__()
定义
__gt__()
定义
__ge__()
定义
second()
定义
secsTo()
定义
setHMS()
定义
toPython()
定义
toString()
静态函数#
定义
fromString()
def
isValid()
注意
本文档可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们。
详细说明#
QTime
对象包含一个时钟时间,它可以表达自午夜以来的小时、分钟、秒和毫秒数。它提供比较时间并通过添加一定数量的毫秒来操作时间的函数。QTime
对象应通过值而不是引用传递到const;它们只是封装了int
。QTime
使用24小时制;它没有AM/PM的概念。与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__(h, m[, s=0[, ms=0]])#
- 参数:
h – int
m – int
s – int
ms – int
创建一个具有小时
h
、分钟m
、秒s
和毫秒ms
的时间对象。h
必须在 0 到 23 之间,m
和s
必须在 0 到 59 之间,ms
必须在 0 到 999 之间。另请参阅
- __init__()
创建一个空的时间对象。对于空时间,
isNull()
返回true
和isValid()
返回false
。如果您需要一个零时间,请使用QTime
(0, 0)。关于一天的开始,请参阅startOfDay()
。- __reduce__()#
- 返回类型:
object
- __repr__()#
- 返回类型:
object
返回一个
QTime
对象,包含比此对象时间晚ms
毫秒的时间(如果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
超出有效范围,则返回一个无效的QTime
。这是重载函数。
- 静态 fromString(字符串[, 格式=Qt.TextDate])
- 参数:
字符串 – str
格式 –
DateFormat
- 返回类型:
这是重载函数。
- 静态 fromString(字符串, 格式)
- 参数:
字符串 – str
格式 – str
- 返回类型:
这是重载函数。
- 静态 fromString(字符串[, 格式=Qt.TextDate])
- 参数:
字符串 – str
格式 –
DateFormat
- 返回类型:
返回字符串中表示的时间作为
QTime
,使用给定的格式,或者不可用时间(无效时间)。另请参阅
- 静态 fromString(字符串, 格式)
- 参数:
字符串 – str
格式 – str
- 返回类型:
警告
本节包含从 C++ 自动翻译到 Python 的代码片段,可能包含错误。
返回由字符串表示的时间
QTime
,使用给定的格式,或者无法解析的字符串时无效时间。以下表达式可用于格式
表达式
输出
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”,或者表示晚于中午12:00时间的“PM”,不区分大小写。
所有其他输入字符都将被当作文本处理。任何被单引号括起来的非空字符序列(去除引号后)也将被当作文本处理,而不是当作表达式。
time = QTime.fromString("1mm12car00", "m'mm'hcarss") # time is 12:01.00
如果格式不满足要求,将返回一个无效的
QTime
对象。那些不需要提供前导零的表达式(h, m, s和z)是贪婪的。这意味着,即使它们放置在可接受值范围之外,它们也会使用两位数(或者对于z来说是三位数),并为此留下较少的位数给其他部分。例如,下面的字符串本可以表示 00:07:10,但分钟会捕获两位数字,结果是一个无效的时间time = QTime.fromString("00:710", "hh:ms") # invalid()
未在格式中表示的字段将被设置为零。例如
time = QTime.fromString("1.30", "m.s") # time is 00:01:30.000
注意
如果要识别本地化的am或pm形式(如AP, ap, Ap, aP, A或a格式),请使用
system()
.toTime().注意
如果格式字符在上方表格使用它的最长表达式中的重复次数多于一次,则该部分格式将被读取为几个没有分隔符的消息;最长的表达式,可能重复多次,最后可能是一个较短的表达式。因此
'HHHHH'
将匹配"08088"
或"080808"
并将小时设置为8;如果时间字符串包含“070809”,它将匹配,但会产生不一致的结果,导致无效的时间。- hour()#
- 返回类型:
int
返回时间的小时部分(0到23)。
如果时间是无效的,则返回-1。
- isNull()#
- 返回类型:
bool
如果时间无效(即,该
QTime
对象是用默认构造函数构造的),则返回true
;否则返回 false。无效时间也是无效时间。另请参阅
- isValid()#
- 返回类型:
bool
如果时间有效则返回
true
;否则返回false
。例如,时间 23:30:55.746 是有效的,但 24:12:30 是无效的。另请参阅
- 静态 isValid(h, m, s[, ms=0])
- 参数:
h – int
m – int
s – int
ms – int
- 返回类型:
bool
警告
本节包含从 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()#
- 返回类型:
int
返回时间的分钟部分(0 到 59)。
如果时间是无效的,则返回-1。
- msec()#
- 返回类型:
int
返回时间的毫秒部分(0 到 999)。
如果时间是无效的,则返回-1。
- msecsSinceStartOfDay()#
- 返回类型:
int
返回从一天开始至今的毫秒数,即从 00:00:00 开始。
返回从当前时间到
t
的毫秒数。如果t
比当前时间早,则返回的毫秒数是负数。由于
QTime
在一天内测量时间,且一天有 86400 秒,所以结果总是在 -86400000 和 86400000 毫秒之间。如果任一时间是无效的,则返回 0。
另请参阅
返回
true
如果lhs
与rhs
不同;否则返回false
。返回
true
如果lhs
比较早于rhs
;否则返回false
。返回
true
如果lhs
比较早于或等于rhs
;否则返回false
。返回
true
如果lhs
等于rhs
;否则返回false
。返回
true
如果lhs
比較晚於rhs
;否则返回false
。返回
true
如果lhs
比較晚于或等于rhs
;否则返回false
。- second()#
- 返回类型:
int
返回时间的第二部分(0到59秒)。
如果时间是无效的,则返回-1。
返回从当前时间到时间
t
的时间差(以秒为单位)。如果t
早于当前时间,则返回的秒数是负的。因为
QTime
在一天内计时,一天有 86400 秒,所以结果总是在 -86400 和 86400 之间。secsTo() 不考虑任何毫秒。
如果任一时间是无效的,则返回 0。
- setHMS(h, m, s[, ms=0])#
- 参数:
h – int
m – int
s – int
ms – int
- 返回类型:
bool
设置时间为小时
h
、分钟m
、秒s
和毫秒ms
。h
必须在 0 到 23 之间,m
和s
必须在 0 到 59 之间,ms
必须在 0 到 999 之间。如果设置的时间有效则返回true
,否则返回false
。另请参阅
- toPython()#
- 返回类型:
object
- toString(format)#
- 参数:
格式 – str
- 返回类型:
str
- toString([f=Qt.TextDate])
- 参数:
f –
DateFormat
- 返回类型:
str
这是重载函数。
以字符串形式返回时间。参数
format
确定了字符串的格式。如果
format
是TextDate
,则字符串的格式是 HH:mm:ss;例如,午夜前 1 秒将是“23:59:59”。如果
format
为ISODate
,字符串格式对应于 ISO 8601 扩展日期表示规范,格式为 HH:mm:ss。要包括毫秒在内的 ISO 8601 日期,请使用格式ISODateWithMs
,对应于 HH:mm:ss.zzz。如果
format
是RFC2822Date
,则字符串将格式化为与 RFC 2822 兼容的方式。这种格式的例子是 “23:59:20”。如果时间无效,将返回空字符串。
- toString(format)
- 参数:
格式 – str
- 返回类型:
str