QCalendar Class

QCalendar 클래스는 캘린더 시스템을 설명합니다. 더 보기...

헤더: #include <QCalendar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

참고: 이 클래스의 모든 함수는 재인용됩니다.

공용 유형

(since 6.2) class SystemId
enum class System { Gregorian, Julian, Milankovic, Jalali, IslamicCivil }

공용 함수

QCalendar()
QCalendar(QAnyStringView name)
QCalendar(QCalendar::System system)
(since 6.2) QCalendar(QCalendar::SystemId id)
QDate dateFromParts(const QCalendar::YearMonthDay &parts) const
QDate dateFromParts(int year, int month, int day) const
QString dateTimeToString(QStringView format, const QDateTime &datetime, QDate dateOnly, QTime timeOnly, const QLocale &locale) const
int dayOfWeek(QDate date) const
int daysInMonth(int month, int year = Unspecified) const
int daysInYear(int year) const
bool hasYearZero() const
bool isDateValid(int year, int month, int day) const
bool isGregorian() const
bool isLeapYear(int year) const
bool isLunar() const
bool isLuniSolar() const
bool isProleptic() const
bool isSolar() const
bool isValid() const
(since 6.7) QDate matchCenturyToWeekday(const QCalendar::YearMonthDay &parts, int dow) const
int maximumDaysInMonth() const
int maximumMonthsInYear() const
int minimumDaysInMonth() const
QString monthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const
int monthsInYear(int year) const
QString name() const
QCalendar::YearMonthDay partsFromDate(QDate date) const
QString standaloneMonthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const
QString standaloneWeekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const
QString weekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const

정적 공용 멤버

QStringList availableCalendars()

상세 설명

QCalendar 객체는 특정 시스템의 규칙을 사용해 연도, 월, 일 번호를 특정 날짜(최종적으로 율리우스력 일 번호로 식별)에 매핑합니다.

기본 QCalendar()는 0이 없는 양력 그레고리력입니다. 적절한 기능을 활성화하거나 플러그인을 로드하여 다른 달력을 지원할 수 있습니다. 기능으로 지원되는 캘린더는 QCalendar::System 열거형을 생성자에 전달하여 생성할 수 있습니다. 지원되는 모든 캘린더는 일단 생성되면 이름으로 생성할 수 있습니다. (따라서 플러그인은 캘린더 백엔드를 인스턴스화하여 등록합니다.) QCalendar::System 을 통해 액세스할 수 있는 기본 제공 백엔드도 항상 이름으로 사용할 수 있습니다. 사용자 지정 백엔드를 사용하는 캘린더는 구성 시 백엔드에 할당된 고유 ID를 사용하여 구성할 수도 있습니다.

QCalendar 값은 변경할 수 없습니다.

QDateQDateTime참조하세요 .

멤버 유형 문서

enum class QCalendar::System

이 열거형 유형은 캘린더 시스템 선택을 지정하는 데 사용됩니다.

Constant설명
QCalendar::System::Gregorian0국제적으로 사용되는 기본 달력입니다.
QCalendar::System::Julian8고대 로마 달력입니다.
QCalendar::System::Milankovic9일부 정교회에서 사용하는 수정된 율리우스 력입니다.
QCalendar::System::Jalali10태양력(페르시아력이라고도 함)입니다.
QCalendar::System::IslamicCivil11(표 형식의) 이슬람 시민력.

QCalendarQCalendar::SystemId참조하세요 .

멤버 함수 문서

[explicit] QCalendar::QCalendar()

[explicit] QCalendar::QCalendar(QAnyStringView name)

[explicit] QCalendar::QCalendar(QCalendar::System system)

캘린더 객체를 생성합니다.

사용할 달력 선택은 system, 열거형 QCalendar::System 또는 문자열(유니코드 또는 라틴 1)을 사용하는 name 로 표시할 수 있습니다. 이름에 의한 생성은 지정된 달력의 인스턴스가 다른 방법으로 먼저 생성되었는지에 따라 달라질 수 있습니다. 인자가 없으면 기본 생성자는 그레고리력을 반환합니다.

참고: 6.4 이전 Qt 버전에서 name 의 생성자는 QStringViewQLatin1String 만 허용하고 QAnyStringView 는 허용하지 않았습니다.

QCalendar, System, isValid()도 참조하십시오 .

QDate QCalendar::dateFromParts(const QCalendar::YearMonthDay &parts) const

QDate QCalendar::dateFromParts(int year, int month, int day) const

연, 월, 일을 QDate 로 변환합니다.

year, month, day 은 별도의 숫자로 전달하거나 parts 의 멤버로 함께 패키징할 수 있습니다. 이 달력에 주어진 연도, 월, 요일이 있는 경우 QDate 를 반환합니다. 그렇지 않으면 값 중 하나라도 QCalendar::Unspecified인 경우를 포함하여 isNull()이 true인 QDate 을 반환합니다.

isDateValid() 및 partsFromDate()도 참조하세요 .

[explicit, since 6.2] QCalendar::QCalendar(QCalendar::SystemId id)

이 함수는 오버로드된 함수입니다.

캘린더 객체를 생성합니다.

사용자 지정 캘린더 구현을 사용하는 경우 백엔드가 생성될 때 고유 ID가 할당되며, 이를 id 으로 이 생성자에 전달하면 해당 백엔드를 사용하는 QCalendar를 가져옵니다. 이 함수는 백엔드가 이름으로 등록되지 않은 경우에 유용할 수 있습니다.

이 함수는 Qt 6.2에 도입되었습니다.

[static] QStringList QCalendar::availableCalendars()

사용 가능한 캘린더 시스템의 이름 목록을 반환합니다.

이러한 시스템은 Qt에서 제공하는 것 외에도 애플리케이션에 연결된 플러그인이나 기타 코드에서 제공될 수 있으며, 일부는 기능에 의해 제어됩니다.

QString QCalendar::dateTimeToString(QStringView format, const QDateTime &datetime, QDate dateOnly, QTime timeOnly, const QLocale &locale) const

주어진 날짜, 시간 또는 날짜-시간을 나타내는 문자열을 반환합니다.

datetime 가 유효하면 날짜 및 시간 필드 모두에 대한 형식 지정자가 인식되고, dateOnly 가 유효하면 날짜 필드에 대한 형식 지정자만 인식되고, 마지막으로 timeOnly 가 유효하면 시간 필드에 대한 형식 지정자만 인식됩니다. 이 중 어느 것도 유효하지 않으면 빈 문자열이 반환됩니다.

지원되는 필드 지정자는 QDate::toStringQTime::toString()를 참조하세요. 필드 지정자로 인식되는 format 의 문자는 표시되는 날짜 및/또는 시간의 적절한 데이터를 나타내는 텍스트로 대체됩니다. 이를 나타내는 텍스트는 지정된 locale 에 따라 달라질 수 있습니다. format 의 다른 문자는 반환된 문자열에 그대로 복사됩니다.

monthName(), weekDayName(), QDate::toString() 및 QTime::toString()도 참조하세요 .

int QCalendar::dayOfWeek(QDate date) const

주어진 date 의 요일 번호를 반환합니다.

달력이 지정된 날짜를 나타낼 수 없는 경우 0을 반환합니다. 월요일의 경우 1을 반환하고 일요일의 경우 7을 반환합니다. 요일 간 날짜가 있는 캘린더는 다른 숫자를 사용하여 요일을 나타낼 수 있습니다.

partsFromDate() 및 Qt::DayOfWeek참조하세요 .

int QCalendar::daysInMonth(int month, int year = Unspecified) const

주어진 year 의 주어진 month 의 일 수를 반환합니다.

월은 매년 첫 달부터 1로 시작하여 연속적으로 번호가 매겨집니다. yearUnspecified (전달되지 않은 경우 기본값)인 경우 일반 연도의 월 길이가 반환됩니다.

maximumDaysInMonth() 및 minimumDaysInMonth()도 참조하세요 .

int QCalendar::daysInYear(int year) const

주어진 year 의 일 수를 반환합니다.

Unspecifiedyear 으로 처리하는 것은 정의되지 않았습니다.

bool QCalendar::hasYearZero() const

이 달력에 0년도가 있는 경우 true 을 반환합니다.

달력은 첫해 이후의 연도를 나타내지만 첫해 이전의 연도를 설명할 방법이 없는데, 이러한 달력에는 0년이 없으며 프렐릭이 아닙니다.

첫 해 이전의 연도를 나타내는 달력은 일반적인 정수 세기를 따라 단순히 연도 번호를 매길 수 있으므로 첫 해 이전의 연도가 0년이고 그 앞에 음수 연도가 있으며, 이러한 달력은 프렐릭이며 연도 0이 있습니다. 달력에는 0년(예: 어떤 큰 사건이 발생한 해를 0년으로 하고 그 다음 해는 그 사건의 첫 해, 두 번째 해 등으로 표시)이 있을 수 있지만 0년 이전의 연도를 설명하지 않을 수도 있습니다. 이러한 달력에는 윤년 없이 0이 표시됩니다.

그러나 일부 달력은 첫 해 이전 연도를 다른 숫자로 표시합니다(예: 양력 그레고리력의 첫 해는 기원전 1년, 그 이전 해는 기원전 1년, 그 앞에 기원전 2년 등). 이 경우 음수 연도를 사용하여 -1년은 1년 전 해, -2년은 -1년 전 해와 같은 식으로 대체 번호 매기기를 합니다. 이러한 달력은 프렐릭이지만 0년은 없습니다.

isProleptic()도 참조하세요 .

bool QCalendar::isDateValid(int year, int month, int day) const

주어진 year, month, day 이 이 달력에서 유효한 날짜를 지정하면 true 을 반환합니다.

일반적으로 1 <= 월 <= monthsInYear(년) 및 1 <= 일 <= daysInMonth(월, 년)을 의미합니다. 그러나 일 또는 월이 겹치는 캘린더에서는 이 문제가 복잡해질 수 있습니다.

bool QCalendar::isGregorian() const

이 달력 객체가 다른 Qt API에서 기본 달력으로 사용되는 그레고리력 객체인 경우 true 를 반환합니다 (예: QDate).

bool QCalendar::isLeapYear(int year) const

주어진 year 이 윤년인 경우 true 을 반환합니다.

1년은 전체 일수가 아니므로 어떤 해는 다른 해보다 길어집니다. 그 차이는 한 달이 될 수도 있고 하루가 될 수도 있으며, 자세한 내용은 달력마다 다릅니다.

isDateValid()도 참조하세요 .

bool QCalendar::isLunar() const

이 캘린더가 음력인 경우 true 을 반환합니다.

음력은 주로 달의 위상을 기반으로 하는 달력입니다.

bool QCalendar::isLuniSolar() const

이 달력이 태음력인 경우 true 을 반환합니다.

태음력은 달의 위상을 표현하지만 고정된 별을 기준으로 하늘에서 변화하는 태양의 위치도 추적할 수 있도록 조정됩니다.

bool QCalendar::isProleptic() const

이 달력이 프롤렙 달력인 경우 true 을 반환합니다.

프롤렙 달력은 첫 해보다 훨씬 앞선 연도를 임의로 표시할 수 있습니다. 이는 음수 연도 숫자와 0으로 표시될 수 있습니다.

hasYearZero()도 참조하세요 .

bool QCalendar::isSolar() const

이 달력이 양력인 경우 true 을 반환합니다.

양력 캘린더는 주로 고정된 별을 기준으로 하늘에서 태양의 변화하는 위치를 기준으로 합니다.

bool QCalendar::isValid() const

유효한 캘린더 객체이면 참을 반환합니다.

인식할 수 없는 캘린더 이름으로 캘린더를 만들면 잘못된 객체가 생성될 수 있습니다. 이름으로 캘린더를 생성한 후 확인하려면 이 메서드를 사용하세요.

[since 6.7] QDate QCalendar::matchCenturyToWeekday(const QCalendar::YearMonthDay &parts, int dow) const

지정된 요일에 맞게 날짜의 세기를 조정합니다.

날짜의 요일, 월, 월, 연도의 마지막 두 자리 숫자가 주어질 때 사용합니다. 지정된 dowdayOfWeek()로 사용하여 지정된 parts 의 월 및 요일과 일치하는 QDate 인스턴스를 반환합니다. 반환된 QDateyear()은 parts.year 와 100의 배수만큼 다르며, 큰 배수보다는 작은 배수를, 음수보다는 양수를 선호합니다.

이러한 조건과 일치하는 날짜가 없으면 잘못된 QDate (요일이 주어진 다른 데이터와 호환되지 않음)가 반환됩니다. 예를 들어, 400년 주기가 전체 주기로 되어 있는 그레고리력의 경우 주어진 월과 해당 월의 요일이 마지막 두 자리 숫자가 있는 해에는 주중 4일에만 해당되는 경우가 발생합니다. (한 세기가 바뀌는 2월 29일이 윤년인 특별한 경우에는 요일 중 하루만 가능합니다: 화요일입니다.)

이 기능은 Qt 6.7에 도입되었습니다.

int QCalendar::maximumDaysInMonth() const

연도에 상관없이 달력에서 가장 긴 달의 일수를 반환합니다.

daysInMonth() 및 minimumDaysInMonth()도 참조하세요 .

int QCalendar::maximumMonthsInYear() const

연도에 포함될 수 있는 최대 월 수를 반환합니다.

monthName(), standaloneMonthName() 및 monthsInYear()도 참조하세요 .

int QCalendar::minimumDaysInMonth() const

연도에 상관없이 달력에서 가장 짧은 달의 일수를 반환합니다.

daysInMonth() 및 maximumDaysInMonth()도 참조하세요 .

QString QCalendar::monthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const

한 달에 적합한 현지화된 이름을 반환합니다.

월은 숫자로 표시되며 month = 1은 연도의 첫 번째 달을 의미하고 이후 월은 그에 따라 번호가 매겨집니다. month 숫자를 인식할 수 없는 경우 빈 문자열을 반환합니다.

year 은 지정되지 않았을 수 있으며, 이 경우 일반적인 연도의 월에 대한 숫자에서 이름으로의 매핑을 사용해야 합니다. 일부 달력에는 윤달이 항상 연말에 있는 것은 아니므로 윤달의 위치에 따라 월 번호와 이름의 매핑이 달라질 수 있습니다. 따라서 일반적으로 연도를 알고 있는 경우 연도를 지정해야 합니다.

이름은 일반적으로 전체 날짜에 사용되는 형식(지정된 locale)으로 반환되며, format 은 이름을 얼마나 완전히 표현할지(즉, 축약할지)를 결정합니다.

standaloneMonthName(), maximumMonthsInYear() 및 dateTimeToString()도 참조하세요 .

int QCalendar::monthsInYear(int year) const

주어진 year 의 개월 수를 반환합니다.

yearUnspecified 인 경우 1년의 최대 월 수를 반환합니다.

maximumMonthsInYear()도 참조하세요 .

QString QCalendar::name() const

이 캘린더의 기본 이름입니다.

캘린더는 일부 별칭으로도 알려져 있을 수 있습니다. 이름으로 인스턴스화된 캘린더는 이러한 별칭을 사용할 수 있으며, 이 경우 이름()이 인스턴스화된 별칭과 일치할 필요는 없습니다.

QCalendar::YearMonthDay QCalendar::partsFromDate(QDate date) const

QDate 를 연도, 월, 일로 변환합니다.

달력이 주어진 date 을 표현할 수 없는 경우 반환된 구조체의 isValid()은 거짓입니다. 그렇지 않으면 연도, 월, 일 멤버가 그 표현의 소위 명명된 부분을 기록합니다.

dateFromParts(), isProleptic() 및 hasYearZero()도 참조하세요 .

QString QCalendar::standaloneMonthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const

한 달에 적합한 현지화된 독립형 이름을 반환합니다.

월은 숫자로 표시되며 month = 1은 연도의 첫 번째 달을 의미하고 이후 월은 그에 따라 번호가 매겨집니다. month 숫자를 인식할 수 없는 경우 빈 문자열을 반환합니다.

year 은 지정되지 않았을 수 있으며, 이 경우 일반적인 연도의 월에 대한 숫자에서 이름으로의 매핑을 사용해야 합니다. 일부 달력에는 윤달이 항상 연말에 있는 것은 아니므로 윤달의 위치에 따라 월 번호와 이름의 매핑이 달라질 수 있습니다. 따라서 일반적으로 연도를 알고 있는 경우 연도를 지정해야 합니다.

이름은 지정된 locale 에서 단독으로 사용되는 형식으로 반환되며, format 은 이름을 얼마나 완전히 표현할지(즉, 어느 정도 축약할지)를 결정합니다.

monthName(), maximumMonthsInYear() 및 dateTimeToString()도 참조하세요 .

QString QCalendar::standaloneWeekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const

요일에 적합한 현지화된 독립형 이름을 반환합니다.

요일은 월요일의 경우 1부터 일요일의 경우 7까지 번호가 매겨집니다. 일부 캘린더는 다른 요일에 대해 더 높은 숫자를 지원할 수 있습니다(예: 어떤 요일에 속하지 않는 중간 요일). day 숫자를 인식할 수 없는 경우 빈 문자열을 반환합니다.

이름은 지정된 locale 에서 단독으로 사용되는 형식(예: 달력의 표 형식 표시에서 열 제목으로 연속된 주를 행으로 표시하는 경우)으로 반환되며, format 은 이름을 얼마나 완전히 표현할지(즉, 축약된 정도)를 결정합니다.

weekDayName() 및 dayOfWeek()도 참조하세요 .

QString QCalendar::weekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const

요일에 적합한 현지화된 이름을 반환합니다.

요일은 월요일의 경우 1부터 일요일의 경우 7까지 번호가 매겨집니다. 일부 캘린더는 다른 요일에 더 높은 숫자를 지원할 수 있습니다(예: 어떤 요일에 속하지 않는 중간 요일). day 숫자를 인식할 수 없는 경우 빈 문자열을 반환합니다.

이름은 일반적으로 전체 날짜에 사용되는 형식(지정된 locale)으로 반환되며, format 은 얼마나 완전히 표현할지(즉, 축약된 정도)를 결정합니다.

standaloneWeekDayName() 및 dayOfWeek()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.