PySide6.QtCore.QCalendar

class QCalendar

QCalendar 类描述了日历系统。More_

概要

方法

静态函数

注意

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

详细描述

一个QCalendar对象使用特定系统的规则将年、月和日编号映射到特定的一天(最终由其儒略日编号标识)。

默认的QCalendar()是一个无零年的格里高利历。通过启用适当的功能或加载插件,可能支持其他日历。作为功能支持的日历可以通过将System枚举传递给构造函数来构建。所有支持的日历一旦构建完成,都可以通过名称来构建。(因此插件实例化其日历后端以注册它。)通过System访问的内置后端也可以通过名称始终可用。使用自定义后端的日历也可以使用在构建时分配给后端的唯一ID来构建。

一个 QCalendar 值是不可变的。

另请参阅

QDate QDateTime

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:

idSystemId

这是一个重载函数。

构建一个日历对象。

当使用自定义日历实现时,其后端在创建时会分配一个唯一的ID;将该ID作为id传递给此构造函数将获取一个使用该后端的QCalendar。这在后端未按名称注册时非常有用。

static availableCalendars()
Return type:

字符串列表

返回可用日历系统的名称列表。

这些可能由插件或链接到应用程序的其他代码提供,除了Qt提供的那些,其中一些由功能控制。

dateFromParts(parts)
Parameters:

部分YearMonthDay

Return type:

QDate

dateFromParts(year, month, day)
Parameters:
  • year – int

  • month – 整数

  • day – 整数

Return type:

QDate

dateTimeToString(format, datetime, dateOnly, timeOnly, locale)
Parameters:
Return type:

字符串

返回表示给定日期、时间或日期时间的字符串。

如果datetime有效,则它被表示并且日期和时间字段的格式说明符都被识别;否则,如果dateOnly有效,则它被表示并且仅识别日期字段的格式说明符;最后,如果timeOnly有效,则它被表示并且仅识别时间字段的格式说明符。如果这些都不有效,则返回一个空字符串。

请参阅toStringtoString()以了解支持的字段说明符。format中被识别为字段说明符的字符将被替换为代表日期和/或时间的适当数据的文本。表示它们的文本可能取决于指定的localeformat中的其他字符将原样复制到返回的字符串中。

dayOfWeek(date)
Parameters:

日期QDate

Return type:

整数

返回给定date的星期几数字。

如果日历无法表示指定的日期,则返回零。星期一返回1,星期日返回7。具有闰日的日历可能使用其他数字来表示这些日期。

另请参阅

partsFromDate() DayOfWeek

daysInMonth(month[, year=QCalendar.Unspecified])
Parameters:
  • month – 整数

  • year – int

Return type:

整数

返回给定month和给定year中的天数。

月份是连续编号的,每年的第一个月从1开始。如果yearUnspecified(如果没有传递,这是默认值),则返回正常年份中该月的长度。

daysInYear(year)
Parameters:

年份 – int

Return type:

整数

返回给定year中的天数。

处理未指定作为年份是未定义的。

hasYearZero()
Return type:

布尔

如果此日历有零年,则返回true

日历可能从其第一年开始表示年份,但无法描述其第一年之前的年份;这样的日历没有零年,也不是预推的。

一个日历,如果在其第一年之前表示年份,可以通过遵循通常的整数计数来简单地编号这些年份,因此第一年之前的年份是零年,之前的年份为负数;这样的日历是预推的,并且有一个零年。一个日历也可能有一个零年(例如,某个重大事件的年份,随后的年份是该事件后的第一年,第二年,依此类推),而不描述其零年之前的年份。这样的日历将有一个零年,但不是预推的。

然而,一些日历在表示其第一年之前的年份时使用另一种编号方式;例如,预推格里高利历的第一年是公元1年,之前的一年是公元前1年,再之前是公元前2年,依此类推。在这种情况下,我们使用负年份编号来表示这种替代编号方式,其中-1年表示1年之前的一年,-2年表示-1年之前的一年,依此类推。这样的日历是预推的,但没有零年。

另请参阅

isProleptic()

isDateValid(year, month, day)
Parameters:
  • year – int

  • month – 整数

  • day – 整数

Return type:

布尔

如果给定的yearmonthday在此日历中指定了一个有效的日期,则返回true

通常这意味着 1 <= 月份 <= monthsInYear (年) 和 1 <= 日 <= daysInMonth (月, 年)。然而,带有闰日或闰月的日历可能会使情况复杂化。

isGregorian()
Return type:

布尔

如果此日历对象是其他Qt API(例如在QDate中)用作默认日历的格里高利日历对象,则返回true

isLeapYear(year)
Parameters:

年份 – int

Return type:

布尔

如果给定的year是闰年,则返回true

由于一年的长度不是整数天,有些年份比其他年份长。差异可能是一个整月或仅仅一天;具体细节因日历而异。

另请参阅

isDateValid()

isLunar()
Return type:

布尔

如果此日历是农历,则返回true

农历主要是基于月亮的相位。

isLuniSolar()
Return type:

布尔

如果这个日历是阴阳历,则返回true

阴阳历表达了月亮的相位,但也适应了太阳在天空中相对于固定恒星的位置变化。

isProleptic()
Return type:

布尔

如果此日历是预推的,则返回 true

一个预推日历能够描述其起始之前任意长的年份。这些年份由负数的年份表示,可能还包括一个零年。

另请参阅

hasYearZero()

isSolar()
Return type:

布尔

如果此日历是阳历,则返回true

阳历主要基于太阳在天空中相对于固定恒星的位置变化。

isValid()
Return type:

布尔

如果这是一个有效的日历对象,则返回true。

使用无法识别的日历名称构建日历可能会导致无效对象。在通过名称创建日历时,请使用此方法进行检查。

matchCenturyToWeekday(parts, dow)
Parameters:
Return type:

QDate

调整日期的世纪以匹配给定的星期几。

当给定日期的星期几、月份中的日、月份和年份的最后两位时使用。返回一个QDate实例,其中给定的dow作为其dayOfWeek(),匹配给定的parts中的月份和月份中的日。返回的QDateyear()应与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:
Return type:

字符串

返回一个适当本地化的月份名称。

月份由一个数字表示,month = 1 表示一年中的第一个月,随后的月份依此类推。如果 month 数字无法识别,则返回一个空字符串。

year 可能是未指定的,在这种情况下,应使用典型年份的月份从数字到名称的映射。一些日历有闰月,这些闰月并不总是在年末;它们的月份数字到名称的映射可能取决于闰月的位置。因此,如果已知,通常应指定年份。

名称以通常用于完整日期的形式返回,在指定的locale中;format决定了它应如何完整表达(即缩写到什么程度)。

monthsInYear(year)
Parameters:

年份 – int

Return type:

整数

返回给定year中的月份数。

如果 yearUnspecified,则返回一年中的最大月数。

另请参阅

maximumMonthsInYear()

name()
Return type:

字符串

此日历的主要名称。

日历也可能有一些别名。通过名称实例化的日历可能会使用这样的别名,在这种情况下,它的name()不需要与实例化时使用的别名匹配。

partsFromDate(date)
Parameters:

日期QDate

Return type:

YearMonthDay

QDate转换为年、月和日。

如果日历无法表示给定的date,则返回结构的isValid()应为false。否则,其年、月和日成员记录其表示的相应部分。

standaloneMonthName(locale, month[, year=QCalendar.Unspecified[, format=QLocale.LongFormat]])
Parameters:
Return type:

字符串

返回一个适当本地化的月份独立名称。

月份由一个数字表示,month = 1 表示一年中的第一个月,随后的月份依此类推。如果 month 数字无法识别,则返回一个空字符串。

year 可能是未指定的,在这种情况下,应使用典型年份的月份从数字到名称的映射。一些日历有闰月,这些闰月并不总是在年末;它们的月份数字到名称的映射可能取决于闰月的位置。因此,如果已知,通常应指定年份。

名称以在指定的locale中单独使用的形式返回;format决定了它应如何完整表达(即缩写到什么程度)。

standaloneWeekDayName(locale, day[, format=QLocale.LongFormat])
Parameters:
Return type:

字符串

返回一周中某一天的适当本地化独立名称。

一周中的天数从星期一的1编号到星期日的7。某些日历可能支持更高的数字来表示其他日子(例如,不属于任何一周的闰日)。如果day编号无法识别,则返回空字符串。

名称以在指定locale中单独使用时的形式返回(例如,在日历的表格显示中作为列标题,其中连续几周作为行);format决定了它应如何完整地表达(即缩写到什么程度)。

另请参阅

weekDayName() dayOfWeek()

weekDayName(locale, day[, format=QLocale.LongFormat])
Parameters:
Return type:

字符串

返回一周中某一天的适当本地化名称。

一周中的天数从星期一的1到星期日的7编号。一些日历可能支持更高的数字来表示其他日子(例如,不属于任何一周的闰日)。如果day编号无法识别,则返回空字符串。

名称以通常用于完整日期的形式返回,在指定的locale中;format决定了它应如何完整表达(即缩写到什么程度)。

class YearMonthDay

概要

方法

注意

本文档可能包含从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

概要

方法

注意

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

详细描述

这是一个不透明类型,用于识别自定义日历实现。此类型值的唯一支持来源是后端的calendarId()方法。如果此类型的值的isValid()为false,则不会识别成功注册的后端。此类型值的唯一有效使用者是QCalendar构造函数,只有在传递给它的ID有效时,才会生成有效的QCalendar实例。

另请参阅

QCalendar System

__init__()
index()
Return type:

整数

isValid()
Return type:

布尔

如果这是一个有效的日历实现标识符,则返回true,否则返回false

另请参阅

QCalendar