PySide6.QtCore.QCalendar¶
- class QCalendar¶
-
概要¶
方法¶
def
__init__()
def
dateFromParts()
def
dayOfWeek()
def
daysInMonth()
def
daysInYear()
def
hasYearZero()
def
isDateValid()
def
isGregorian()
def
isLeapYear()
def
isLunar()
def
isLuniSolar()
def
isProleptic()
def
isSolar()
def
isValid()
def
monthName()
def
monthsInYear()
def
name()
def
partsFromDate()
def
weekDayName()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个
QCalendar
对象使用特定系统的规则将年、月和日编号映射到特定的一天(最终由其儒略日编号标识)。默认的
QCalendar()
是一个无零年的格里高利历。通过启用适当的功能或加载插件,可能支持其他日历。作为功能支持的日历可以通过将System
枚举传递给构造函数来构建。所有支持的日历一旦构建完成,都可以通过名称来构建。(因此插件实例化其日历后端以注册它。)通过System
访问的内置后端也可以通过名称始终可用。使用自定义后端的日历也可以使用在构建时分配给后端的唯一ID来构建。一个
QCalendar
值是不可变的。- class Unspecified¶
- class System¶
此枚举类型用于指定日历系统的选择。
常量
描述
QCalendar.System.Gregorian
默认的日历,国际通用。
QCalendar.System.Julian
古罗马日历。
QCalendar.System.Milankovic
一些东正教教堂使用的修订版儒略历。
QCalendar.System.Jalali
太阳回历(也称为波斯历)。
QCalendar.System.IslamicCivil
(表格形式的)伊斯兰民用日历。
另请参阅
QCalendar
SystemId
- __init__()¶
- __init__(name)
- Parameters:
name – str
- __init__(system)
- Parameters:
系统 –
System
- __init__(id)
- Parameters:
id –
SystemId
这是一个重载函数。
构建一个日历对象。
当使用自定义日历实现时,其后端在创建时会分配一个唯一的ID;将该ID作为
id
传递给此构造函数将获取一个使用该后端的QCalendar
。这在后端未按名称注册时非常有用。- static availableCalendars()¶
- Return type:
字符串列表
返回可用日历系统的名称列表。
这些可能由插件或链接到应用程序的其他代码提供,除了Qt提供的那些,其中一些由功能控制。
- dateFromParts(parts)¶
- Parameters:
部分 –
YearMonthDay
- Return type:
- dateFromParts(year, month, day)
- Parameters:
year – int
month – 整数
day – 整数
- Return type:
- dateTimeToString(format, datetime, dateOnly, timeOnly, locale)¶
返回表示给定日期、时间或日期时间的字符串。
如果
datetime
有效,则它被表示并且日期和时间字段的格式说明符都被识别;否则,如果dateOnly
有效,则它被表示并且仅识别日期字段的格式说明符;最后,如果timeOnly
有效,则它被表示并且仅识别时间字段的格式说明符。如果这些都不有效,则返回一个空字符串。请参阅
toString
和toString()
以了解支持的字段说明符。format
中被识别为字段说明符的字符将被替换为代表日期和/或时间的适当数据的文本。表示它们的文本可能取决于指定的locale
。format
中的其他字符将原样复制到返回的字符串中。返回给定
date
的星期几数字。如果日历无法表示指定的日期,则返回零。星期一返回1,星期日返回7。具有闰日的日历可能使用其他数字来表示这些日期。
另请参阅
- daysInMonth(month[, year=QCalendar.Unspecified])¶
- Parameters:
month – 整数
year – int
- Return type:
整数
返回给定
month
和给定year
中的天数。月份是连续编号的,每年的第一个月从1开始。如果
year
是Unspecified
(如果没有传递,这是默认值),则返回正常年份中该月的长度。- daysInYear(year)¶
- Parameters:
年份 – int
- Return type:
整数
返回给定
year
中的天数。处理
未指定
作为年份
是未定义的。- hasYearZero()¶
- Return type:
布尔
如果此日历有零年,则返回
true
。日历可能从其第一年开始表示年份,但无法描述其第一年之前的年份;这样的日历没有零年,也不是预推的。
一个日历,如果在其第一年之前表示年份,可以通过遵循通常的整数计数来简单地编号这些年份,因此第一年之前的年份是零年,之前的年份为负数;这样的日历是预推的,并且有一个零年。一个日历也可能有一个零年(例如,某个重大事件的年份,随后的年份是该事件后的第一年,第二年,依此类推),而不描述其零年之前的年份。这样的日历将有一个零年,但不是预推的。
然而,一些日历在表示其第一年之前的年份时使用另一种编号方式;例如,预推格里高利历的第一年是公元1年,之前的一年是公元前1年,再之前是公元前2年,依此类推。在这种情况下,我们使用负年份编号来表示这种替代编号方式,其中-1年表示1年之前的一年,-2年表示-1年之前的一年,依此类推。这样的日历是预推的,但没有零年。
另请参阅
- isDateValid(year, month, day)¶
- Parameters:
year – int
month – 整数
day – 整数
- Return type:
布尔
如果给定的
year
、month
和day
在此日历中指定了一个有效的日期,则返回true
。通常这意味着 1 <= 月份 <=
monthsInYear
(年) 和 1 <= 日 <=daysInMonth
(月, 年)。然而,带有闰日或闰月的日历可能会使情况复杂化。- isGregorian()¶
- Return type:
布尔
如果此日历对象是其他Qt API(例如在
QDate
中)用作默认日历的格里高利日历对象,则返回true
。- isLeapYear(year)¶
- Parameters:
年份 – int
- Return type:
布尔
如果给定的
year
是闰年,则返回true
。由于一年的长度不是整数天,有些年份比其他年份长。差异可能是一个整月或仅仅一天;具体细节因日历而异。
另请参阅
- isLunar()¶
- Return type:
布尔
如果此日历是农历,则返回
true
。农历主要是基于月亮的相位。
- isLuniSolar()¶
- Return type:
布尔
如果这个日历是阴阳历,则返回
true
。阴阳历表达了月亮的相位,但也适应了太阳在天空中相对于固定恒星的位置变化。
- isProleptic()¶
- Return type:
布尔
如果此日历是预推的,则返回
true
。一个预推日历能够描述其起始之前任意长的年份。这些年份由负数的年份表示,可能还包括一个零年。
另请参阅
- isSolar()¶
- Return type:
布尔
如果此日历是阳历,则返回
true
。阳历主要基于太阳在天空中相对于固定恒星的位置变化。
- isValid()¶
- Return type:
布尔
如果这是一个有效的日历对象,则返回true。
使用无法识别的日历名称构建日历可能会导致无效对象。在通过名称创建日历时,请使用此方法进行检查。
- matchCenturyToWeekday(parts, dow)¶
- Parameters:
parts –
YearMonthDay
dow – 整数
- Return type:
调整日期的世纪以匹配给定的星期几。
当给定日期的星期几、月份中的日、月份和年份的最后两位时使用。返回一个
QDate
实例,其中给定的dow
作为其dayOfWeek()
,匹配给定的parts
中的月份和月份中的日。返回的QDate
的year()
应与parts.year
相差100的倍数,优先选择较小的倍数和正倍数而非其负数。如果没有日期符合这些条件,将返回一个无效的
QDate
:星期几与给定的其他数据不兼容。例如,在格里高利历中,其400年的周期正好是整数周,因此任何给定的月份和该月的某一天,在具有给定最后两位数的年份中,只会落在四个星期几上。(在世纪之交的2月29日这个特殊情况下,当那一年是闰年时,只有星期二这一种可能。)- maximumDaysInMonth()¶
- Return type:
整数
返回日历中任何一年中最长月份的天数。
- maximumMonthsInYear()¶
- Return type:
整数
返回任何年份可能包含的最大月数。
- minimumDaysInMonth()¶
- Return type:
整数
返回日历中任何一年中最短月份的天数。
- monthName(locale, month[, year=QCalendar.Unspecified[, format=QLocale.LongFormat]])¶
- Parameters:
locale –
QLocale
month – 整数
year – int
format –
FormatType
- Return type:
字符串
返回一个适当本地化的月份名称。
月份由一个数字表示,
month
= 1 表示一年中的第一个月,随后的月份依此类推。如果month
数字无法识别,则返回一个空字符串。year
可能是未指定的,在这种情况下,应使用典型年份的月份从数字到名称的映射。一些日历有闰月,这些闰月并不总是在年末;它们的月份数字到名称的映射可能取决于闰月的位置。因此,如果已知,通常应指定年份。名称以通常用于完整日期的形式返回,在指定的
locale
中;format
决定了它应如何完整表达(即缩写到什么程度)。- monthsInYear(year)¶
- Parameters:
年份 – int
- Return type:
整数
返回给定
year
中的月份数。如果
year
是Unspecified
,则返回一年中的最大月数。- name()¶
- Return type:
字符串
此日历的主要名称。
日历也可能有一些别名。通过名称实例化的日历可能会使用这样的别名,在这种情况下,它的name()不需要与实例化时使用的别名匹配。
将
QDate
转换为年、月和日。如果日历无法表示给定的
date
,则返回结构的isValid()
应为false。否则,其年、月和日成员记录其表示的相应部分。- standaloneMonthName(locale, month[, year=QCalendar.Unspecified[, format=QLocale.LongFormat]])¶
- Parameters:
locale –
QLocale
month – 整数
year – int
format –
FormatType
- Return type:
字符串
返回一个适当本地化的月份独立名称。
月份由一个数字表示,
month
= 1 表示一年中的第一个月,随后的月份依此类推。如果month
数字无法识别,则返回一个空字符串。year
可能是未指定的,在这种情况下,应使用典型年份的月份从数字到名称的映射。一些日历有闰月,这些闰月并不总是在年末;它们的月份数字到名称的映射可能取决于闰月的位置。因此,如果已知,通常应指定年份。名称以在指定的
locale
中单独使用的形式返回;format
决定了它应如何完整表达(即缩写到什么程度)。- standaloneWeekDayName(locale, day[, format=QLocale.LongFormat])¶
- Parameters:
locale –
QLocale
day – 整数
format –
FormatType
- Return type:
字符串
返回一周中某一天的适当本地化独立名称。
一周中的天数从星期一的1编号到星期日的7。某些日历可能支持更高的数字来表示其他日子(例如,不属于任何一周的闰日)。如果
day
编号无法识别,则返回空字符串。名称以在指定
locale
中单独使用时的形式返回(例如,在日历的表格显示中作为列标题,其中连续几周作为行);format
决定了它应如何完整地表达(即缩写到什么程度)。另请参阅
- weekDayName(locale, day[, format=QLocale.LongFormat])¶
- Parameters:
locale –
QLocale
day – 整数
format –
FormatType
- Return type:
字符串
返回一周中某一天的适当本地化名称。
一周中的天数从星期一的1到星期日的7编号。一些日历可能支持更高的数字来表示其他日子(例如,不属于任何一周的闰日)。如果
day
编号无法识别,则返回空字符串。名称以通常用于完整日期的形式返回,在指定的
locale
中;format
决定了它应如何完整表达(即缩写到什么程度)。- class YearMonthDay¶
概要¶
方法¶
def
__init__()
def
isValid()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
- PySide6.QtCore.QCalendar.YearMonthDay.year¶
- PySide6.QtCore.QCalendar.YearMonthDay.month¶
- PySide6.QtCore.QCalendar.YearMonthDay.day¶
- __init__()¶
- __init__(y[, m=1[, d=1]])
- Parameters:
y – 整数
m – 整数
d – 整数
- isValid()¶
- Return type:
布尔
- class SystemId¶
概要¶
方法¶
def
__init__()
def
index()
def
isValid()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
这是一个不透明类型,用于识别自定义日历实现。此类型值的唯一支持来源是后端的
calendarId()
方法。如果此类型的值的isValid()
为false,则不会识别成功注册的后端。此类型值的唯一有效使用者是QCalendar
构造函数,只有在传递给它的ID有效时,才会生成有效的QCalendar
实例。- __init__()¶
- index()¶
- Return type:
整数
- isValid()¶
- Return type:
布尔
如果这是一个有效的日历实现标识符,则返回
true
,否则返回false
。另请参阅