• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KDECore

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
KCalendarSystem Class Referenceabstract

#include <kcalendarsystem.h>

Inheritance diagram for KCalendarSystem:
Inheritance graph
[legend]

Public Types

enum  MonthNameFormat {
  ShortName, LongName, ShortNamePossessive, LongNamePossessive,
  NarrowName
}
 
enum  StringFormat { ShortFormat, LongFormat }
 
enum  WeekDayNameFormat { ShortDayName, LongDayName, NarrowDayName }
 

Public Member Functions

 KCalendarSystem (const KLocale *locale=0)
 
 KCalendarSystem (const KSharedConfig::Ptr config, const KLocale *locale=0)
 
virtual ~KCalendarSystem ()
 
virtual QDate addDays (const QDate &date, int ndays) const
 
virtual QDate addMonths (const QDate &date, int nmonths) const
 
virtual QDate addYears (const QDate &date, int nyears) const
 
int applyShortYearWindow (int inputYear) const
 
QString calendarLabel () const
 
KLocale::CalendarSystem calendarSystem () const
 
virtual QString calendarType () const =0
 
void dateDifference (const QDate &fromDate, const QDate &toDate, int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
 
virtual int day (const QDate &date) const
 
virtual int dayOfWeek (const QDate &date) const
 
QString dayOfWeekString (const QDate &pDate) const
 
virtual int dayOfYear (const QDate &date) const
 
QString dayOfYearString (const QDate &pDate, StringFormat format=LongFormat) const
 
int daysDifference (const QDate &fromDate, const QDate &toDate) const
 
virtual int daysInMonth (const QDate &date) const
 
int daysInMonth (int year, int month) const
 
QString daysInMonthString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual int daysInWeek (const QDate &date) const
 
QString daysInWeekString (const QDate &date) const
 
virtual int daysInYear (const QDate &date) const
 
int daysInYear (int year) const
 
QString daysInYearString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual QString dayString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual int dayStringToInteger (const QString &sNum, int &iLength) const
 
virtual QDate earliestValidDate () const
 
virtual QDate epoch () const
 
QString eraName (const QDate &date, StringFormat format=ShortFormat) const
 
QString eraYear (const QDate &date, StringFormat format=ShortFormat) const
 
QDate firstDayOfMonth (int year, int month) const
 
QDate firstDayOfMonth (const QDate &date=QDate::currentDate()) const
 
QDate firstDayOfYear (int year) const
 
QDate firstDayOfYear (const QDate &date=QDate::currentDate()) const
 
virtual QString formatDate (const QDate &fromDate, KLocale::DateFormat toFormat=KLocale::LongDate) const
 
QString formatDate (const QDate &fromDate, const QString &toFormat, KLocale::DateTimeFormatStandard formatStandard=KLocale::KdeFormat) const
 
QString formatDate (const QDate &fromDate, const QString &toFormat, KLocale::DigitSet digitSet, KLocale::DateTimeFormatStandard formatStandard=KLocale::KdeFormat) const
 
QString formatDate (const QDate &date, KLocale::DateTimeComponent component, KLocale::DateTimeComponentFormat format=KLocale::DefaultComponentFormat, KLocale::WeekNumberSystem weekNumberSystem=KLocale::DefaultWeekNumber) const
 
void getDate (const QDate date, int *year, int *month, int *day) const
 
virtual bool isLeapYear (int year) const =0
 
virtual bool isLeapYear (const QDate &date) const
 
virtual bool isLunar () const =0
 
virtual bool isLunisolar () const =0
 
virtual bool isProleptic () const =0
 
virtual bool isSolar () const =0
 
virtual bool isValid (int year, int month, int day) const =0
 
bool isValid (int year, int dayOfYear) const
 
bool isValid (const QString &eraName, int yearInEra, int month, int day) const
 
virtual bool isValid (const QDate &date) const
 
bool isValidIsoWeekDate (int year, int isoWeekNumber, int dayOfIsoWeek) const
 
QDate lastDayOfMonth (int year, int month) const
 
QDate lastDayOfMonth (const QDate &date=QDate::currentDate()) const
 
QDate lastDayOfYear (int year) const
 
QDate lastDayOfYear (const QDate &date=QDate::currentDate()) const
 
virtual QDate latestValidDate () const
 
virtual int month (const QDate &date) const
 
virtual QString monthName (int month, int year, MonthNameFormat format=LongName) const =0
 
virtual QString monthName (const QDate &date, MonthNameFormat format=LongName) const
 
int monthsDifference (const QDate &fromDate, const QDate &toDate) const
 
virtual int monthsInYear (const QDate &date) const
 
int monthsInYear (int year) const
 
QString monthsInYearString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual QString monthString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual int monthStringToInteger (const QString &sNum, int &iLength) const
 
virtual QDate readDate (const QString &str, bool *ok=0) const
 
virtual QDate readDate (const QString &str, KLocale::ReadDateFlags flags, bool *ok=0) const
 
virtual QDate readDate (const QString &dateString, const QString &dateFormat, bool *ok=0) const
 
QDate readDate (const QString &dateString, const QString &dateFormat, bool *ok, KLocale::DateTimeFormatStandard formatStandard) const
 
virtual bool setDate (QDate &date, int year, int month, int day) const
 
bool setDate (QDate &date, int year, int dayOfYear) const
 
bool setDate (QDate &date, QString eraName, int yearInEra, int month, int day) const
 
bool setDateIsoWeek (QDate &date, int year, int isoWeekNumber, int dayOfIsoWeek) const
 
virtual bool setYMD (QDate &date, int y, int m, int d) const
 
int shortYearWindowStartYear () const
 
int week (const QDate &date, int *yearNum=0) const
 
int week (const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum=0) const
 
virtual QString weekDayName (int weekDay, WeekDayNameFormat format=LongDayName) const =0
 
virtual QString weekDayName (const QDate &date, WeekDayNameFormat format=LongDayName) const
 
virtual int weekDayOfPray () const =0
 
virtual int weekNumber (const QDate &date, int *yearNum=0) const
 
QString weekNumberString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual int weeksInYear (const QDate &date) const
 
int weeksInYear (const QDate &date, KLocale::WeekNumberSystem weekNumberSystem) const
 
virtual int weeksInYear (int year) const
 
int weeksInYear (int year, KLocale::WeekNumberSystem weekNumberSystem) const
 
QString weeksInYearString (const QDate &pDate, StringFormat format=LongFormat) const
 
virtual int weekStartDay () const
 
virtual int year (const QDate &date) const
 
int yearInEra (const QDate &date) const
 
QString yearInEraString (const QDate &date, StringFormat format=ShortFormat) const
 
int yearsDifference (const QDate &fromDate, const QDate &toDate) const
 
virtual QString yearString (const QDate &date, StringFormat format=LongFormat) const
 
virtual int yearStringToInteger (const QString &sNum, int &iLength) const
 

Static Public Member Functions

static QString calendarLabel (const QString &calendarType)
 
static QString calendarLabel (KLocale::CalendarSystem calendarSystem, const KLocale *locale=KGlobal::locale())
 
static KLocale::CalendarSystem calendarSystem (const QString &calendarType)
 
static KLocale::CalendarSystem calendarSystemForCalendarType (const QString &calendarType)
 
static QStringList calendarSystems ()
 
static QList
< KLocale::CalendarSystem > 
calendarSystemsList ()
 
static QString calendarType (KLocale::CalendarSystem calendarSystem)
 
static KCalendarSystem * create (const QString &calType=QLatin1String("gregorian"), const KLocale *locale=0)
 
static KCalendarSystem * create (const QString &calType, KSharedConfig::Ptr config, const KLocale *locale=0)
 
static KCalendarSystem * create (KLocale::CalendarSystem calendarSystem, const KLocale *locale=0)
 
static KCalendarSystem * create (KLocale::CalendarSystem calendarSystem, KSharedConfig::Ptr config, const KLocale *locale=0)
 

Protected Member Functions

 KCalendarSystem (KCalendarSystemPrivate &dd, const KSharedConfig::Ptr config=KSharedConfig::Ptr(), const KLocale *locale=0)
 
virtual bool dateToJulianDay (int year, int month, int day, int &jd) const =0
 
virtual bool julianDayToDate (int jd, int &year, int &month, int &day) const =0
 
const KLocale * locale () const
 
void setHasYear0 (bool hasYear0)
 
void setMaxDaysInWeek (int maxDays)
 
void setMaxMonthsInYear (int maxMonths)
 

Detailed Description

KCalendarSystem abstract base class, provides support for local Calendar Systems in KDE.

Derived classes must be created through the create() static method

Definition at line 40 of file kcalendarsystem.h.

Member Enumeration Documentation

enum KCalendarSystem::MonthNameFormat

Format for returned month / day name.

Enumerator
ShortName 

Short name format, e.g.

"Dec"

LongName 

Long name format, e.g.

"December"

ShortNamePossessive 

Short name possessive format, e.g.

"of Dec"

LongNamePossessive 

Long name possessive format, e.g.

"of December"

NarrowName 

Narrow name format, e.g.

"D".

Since
4.7

Definition at line 55 of file kcalendarsystem.h.

enum KCalendarSystem::StringFormat

Format for returned year number / month number / day number as string.

Enumerator
ShortFormat 

Short string format, e.g.

2000 = "00" or 6 = "6"

LongFormat 

Long string format, e.g.

2000 = "2000" or 6 = "06"

Definition at line 47 of file kcalendarsystem.h.

enum KCalendarSystem::WeekDayNameFormat

Format for returned month / day name.

Enumerator
ShortDayName 

Short name format, e.g.

"Fri"

LongDayName 

Long name format, e.g.

"Friday"

NarrowDayName 

Narrow name format, e.g.

"F".

Since
4.7

Definition at line 66 of file kcalendarsystem.h.

Constructor & Destructor Documentation

KCalendarSystem::KCalendarSystem ( const KLocale *  locale = 0)
explicit

Constructor of abstract calendar class.

This will be called by derived classes.

Parameters
localelocale to use for translations. The global locale is used if null.

Definition at line 1073 of file kcalendarsystem.cpp.

KCalendarSystem::KCalendarSystem ( const KSharedConfig::Ptr  config,
const KLocale *  locale = 0 
)
explicit

Constructor of abstract calendar class.

This will be called by derived classes.

Parameters
configa configuration file with a 'KCalendarSystem calendarName' group detailing locale-related preferences (such as era options). The global config is used if null.
localelocale to use for translations. The global locale is used if null.

Definition at line 1080 of file kcalendarsystem.cpp.

KCalendarSystem::~KCalendarSystem ( )
virtual

Destructor.

Definition at line 1094 of file kcalendarsystem.cpp.

KCalendarSystem::KCalendarSystem ( KCalendarSystemPrivate &  dd,
const KSharedConfig::Ptr  config = KSharedConfig::Ptr(),
const KLocale *  locale = 0 
)
protected

Constructor of abstract calendar class.

This will be called by derived classes.

Parameters
ddderived private d-pointer.
configa configuration file with a 'KCalendarSystem calendarName' group detailing locale-related preferences (such as era options). The global config is used if null.
localelocale to use for translations. The global locale is used if null.

Definition at line 1087 of file kcalendarsystem.cpp.

Member Function Documentation

QDate KCalendarSystem::addDays ( const QDate &  date,
int  ndays 
) const
virtual

Returns a QDate containing a date ndays days later.

Parameters
dateThe old date
ndaysnumber of days to add
Returns
The new date, null date if any errors

Definition at line 1502 of file kcalendarsystem.cpp.

QDate KCalendarSystem::addMonths ( const QDate &  date,
int  nmonths 
) const
virtual

Returns a QDate containing a date nmonths months later.

Parameters
dateThe old date
nmonthsnumber of months to add
Returns
The new date, null date if any errors

Definition at line 1463 of file kcalendarsystem.cpp.

QDate KCalendarSystem::addYears ( const QDate &  date,
int  nyears 
) const
virtual

Returns a QDate containing a date nyears years later.

Parameters
dateThe old date
nyearsThe number of years to add
Returns
The new date, null date if any errors

Definition at line 1435 of file kcalendarsystem.cpp.

int KCalendarSystem::applyShortYearWindow ( int  inputYear) const
Since
4.6

Returns the Year Number after applying the Year Window.

If the inputYear is between 0 and 99, then apply the Year Window and return the calculated Year Number.

If the inputYear is not between 0 and 99, then the original Year Number is returned.

See also
KLocale::setYearWindowOffset
KLocale::yearWindowOffset
Parameters
inputYearthe year number to apply the year window to
Returns
the year number after applying the year window

Definition at line 2398 of file kcalendarsystem.cpp.

QString KCalendarSystem::calendarLabel ( const QString &  calendarType)
static
Deprecated:
use calendarLabel( KLocale::CalendarSystem ) instead

Returns a typographically correct and translated label to display for the calendar system type. Use with calendarSystems() to neatly format labels to display on combo widget of available calendar systems.

Parameters
calendarTypethe specific calendar type to return the label for
Returns
label for calendar

Definition at line 78 of file kcalendarsystem.cpp.

QString KCalendarSystem::calendarLabel ( KLocale::CalendarSystem  calendarSystem,
const KLocale *  locale = KGlobal::locale() 
)
static
Since
4.6

Returns a localized label to display for the required Calendar System type.

Use with calendarSystemsList() to populate selection lists of available calendar systems.

Parameters
calendarSystemthe specific calendar type to return the label for
localethe locale to use for the label, defaults to global
Returns
label for calendar

Definition at line 146 of file kcalendarsystem.cpp.

QString KCalendarSystem::calendarLabel ( ) const
Since
4.6

Returns a localized label to display for the current Calendar System type.

Returns
localized label for this Calendar System

Definition at line 1108 of file kcalendarsystem.cpp.

KLocale::CalendarSystem KCalendarSystem::calendarSystem ( const QString &  calendarType)
static
Since
4.7

Returns the Calendar System enum value for a given Calendar Type, e.g. KLocale::QDateCalendar for "gregorian"

Parameters
calendarTypethe calendar type to convert
Returns
calendar system for calendar type

Definition at line 183 of file kcalendarsystem.cpp.

KLocale::CalendarSystem KCalendarSystem::calendarSystem ( ) const
Since
4.6

Returns the Calendar System type of the KCalendarSystem object

Returns
type of calendar system

Definition at line 1100 of file kcalendarsystem.cpp.

KLocale::CalendarSystem KCalendarSystem::calendarSystemForCalendarType ( const QString &  calendarType)
static
Deprecated:
use calendarSystem(const QString &calendarType) instead
Since
4.6

Returns the Calendar System enum value for a given Calendar Type, e.g. KLocale::QDateCalendar for "gregorian"

Parameters
calendarTypethe calendar type to convert
Returns
calendar system for calendar type

Definition at line 178 of file kcalendarsystem.cpp.

QStringList KCalendarSystem::calendarSystems ( )
static
Deprecated:
use calendarSystemsList() instead

Gets a list of names of supported calendar systems.

Returns
list of names

Definition at line 58 of file kcalendarsystem.cpp.

QList< KLocale::CalendarSystem > KCalendarSystem::calendarSystemsList ( )
static
Since
4.6

Returns the list of currently supported Calendar Systems

Returns
list of Calendar Systems

Definition at line 126 of file kcalendarsystem.cpp.

QString KCalendarSystem::calendarType ( KLocale::CalendarSystem  calendarSystem)
static
Since
4.7

Returns the deprecated Calendar Type for a given Calendar System enum value, e.g. "gregorian" for KLocale::QDateCalendar

Parameters
calendarSystemthe calendar system to convert
Returns
calendar type for calendar system

Definition at line 214 of file kcalendarsystem.cpp.

virtual QString KCalendarSystem::calendarType ( ) const
pure virtual
Deprecated:
use calendarSystem() instead

Returns the calendar system type.

Returns
type of calendar system

Implemented in KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemHebrew, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemQDate, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

KCalendarSystem * KCalendarSystem::create ( const QString &  calType = QLatin1String("gregorian"),
const KLocale *  locale = 0 
)
static
Deprecated:
use create(KLocale::CalendarSystem, KLocale) instead

Creates specific calendar type

Parameters
calTypestring identification of the specific calendar type to be constructed
localelocale to use for translations. The global locale is used if null.
Returns
a KCalendarSystem object

Definition at line 47 of file kcalendarsystem.cpp.

KCalendarSystem * KCalendarSystem::create ( const QString &  calType,
KSharedConfig::Ptr  config,
const KLocale *  locale = 0 
)
static
Deprecated:
use create(KLocale::CalendarSystem, KSharedConfig, KLocale) instead
Since
4.5

Creates specific calendar type

Parameters
calTypestring identification of the specific calendar type to be constructed
configa configuration file with a 'KCalendarSystem calendarType' group detailing locale-related preferences (such as era options). The global config is used if null.
localelocale to use for translations. The global locale is used if null.
Returns
a KCalendarSystem object

Definition at line 52 of file kcalendarsystem.cpp.

KCalendarSystem * KCalendarSystem::create ( KLocale::CalendarSystem  calendarSystem,
const KLocale *  locale = 0 
)
static
Since
4.6

Creates a KCalendarSystem object for the required Calendar System

Parameters
calendarSystemthe Calendar System to create, defaults to QDate compatible
localelocale to use for translations. The global locale is used if null.
Returns
a KCalendarSystem object

Definition at line 87 of file kcalendarsystem.cpp.

KCalendarSystem * KCalendarSystem::create ( KLocale::CalendarSystem  calendarSystem,
KSharedConfig::Ptr  config,
const KLocale *  locale = 0 
)
static
Since
4.6

Creates a KCalendarSystem object for the required Calendar System

Parameters
calendarSystemthe Calendar System to create
configa configuration file with a 'KCalendarSystem calendarType' group detailing locale-related preferences (such as era options). The global config is used if null.
localelocale to use for translations. The global locale is used if null.
Returns
a KCalendarSystem object

Definition at line 92 of file kcalendarsystem.cpp.

void KCalendarSystem::dateDifference ( const QDate &  fromDate,
const QDate &  toDate,
int *  yearsDiff,
int *  monthsDiff,
int *  daysDiff,
int *  direction 
) const

Returns the difference between two dates in years, months and days.

The difference is always caculated from the earlier date to the later date in year, month and day order, with the direction parameter indicating which direction the difference is applied from the toDate.

For example, the difference between 2010-06-10 and 2012-09-5 is 2 years, 2 months and 26 days. Note that the difference between two last days of the month is always 1 month, e.g. 2010-01-31 to 2010-02-28 is 1 month not 28 days.

Parameters
fromDateThe date to start from
toDateThe date to end at
yearsDiffReturns number of years difference
monthsDiffReturns number of months difference
daysDiffReturns number of days difference
directionReturns direction of difference, 1 if fromDate <= toDate, -1 otherwise

Definition at line 1519 of file kcalendarsystem.cpp.

bool KCalendarSystem::dateToJulianDay ( int  year,
int  month,
int  day,
int &  jd 
) const
protectedpure virtual

Internal method to convert YMD values for this calendar system into a Julian Day number.

All calendar system implementations MUST implement julianDayToDate and dateToJulianDay methods as all other methods can be expressed as functions of these. Does no internal validity checking.

See also
KCalendarSystem::julianDayToDate
Parameters
yearyear number
monthmonth number
dayday of month
jdJulian day number returned in this variable
Returns
true if the date is valid, false otherwise

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

Definition at line 2448 of file kcalendarsystem.cpp.

int KCalendarSystem::day ( const QDate &  date) const
virtual

Returns the day portion of a given date in the current calendar system.

Parameters
datedate to return day for
Returns
day of the month, 0 if input date is invalid

Reimplemented in KCalendarSystemQDate.

Definition at line 1357 of file kcalendarsystem.cpp.

int KCalendarSystem::dayOfWeek ( const QDate &  date) const
virtual

Returns the weekday number for the given date.

The weekdays are numbered 1..7 for Monday..Sunday.

This value is not affected by the value of weekStartDay()

Parameters
datethe date to obtain day from
Returns
day of week number, -1 if input date not valid

Reimplemented in KCalendarSystemQDate, and KCalendarSystemHebrew.

Definition at line 1686 of file kcalendarsystem.cpp.

QString KCalendarSystem::dayOfWeekString ( const QDate &  pDate) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Converts a date into a day of week literal

Parameters
pDateThe date to convert
Returns
The day of week literal of the date, empty string if any error
See also
dayOfWeek()

Definition at line 1957 of file kcalendarsystem.cpp.

int KCalendarSystem::dayOfYear ( const QDate &  date) const
virtual

Returns the day number of year for the given date.

The days are numbered 1..daysInYear()

Parameters
datethe date to obtain day from
Returns
day of year number, -1 if input date not valid

Reimplemented in KCalendarSystemQDate.

Definition at line 1675 of file kcalendarsystem.cpp.

QString KCalendarSystem::dayOfYearString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Converts a date into a day of year literal

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The day of year literal of the date, empty string if any error
See also
dayOfYear()

Definition at line 1947 of file kcalendarsystem.cpp.

int KCalendarSystem::daysDifference ( const QDate &  fromDate,
const QDate &  toDate 
) const

Returns the difference between two dates in days The returned value will be negative if fromDate > toDate.

Parameters
fromDateThe date to start from
toDateThe date to end at
Returns
The number of days difference

Definition at line 1554 of file kcalendarsystem.cpp.

int KCalendarSystem::daysInMonth ( const QDate &  date) const
virtual

Returns the number of days in the given month.

Parameters
datethe date to obtain month from
Returns
number of days in month, -1 if input date invalid

Reimplemented in KCalendarSystemQDate.

Definition at line 1643 of file kcalendarsystem.cpp.

int KCalendarSystem::daysInMonth ( int  year,
int  month 
) const
Since
4.5

Returns the number of days in the given month.

Parameters
yearthe year the month is in
monththe month
Returns
number of days in month, -1 if input date invalid

Definition at line 1657 of file kcalendarsystem.cpp.

QString KCalendarSystem::daysInMonthString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Returns the days in month for a date as a numeric string

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The days in month literal of the date, empty string if any error
See also
daysInMonth()

Definition at line 2003 of file kcalendarsystem.cpp.

int KCalendarSystem::daysInWeek ( const QDate &  date) const
virtual

Returns the number of days in the given week.

Parameters
datethe date to obtain week from
Returns
number of days in week, -1 if input date invalid

Definition at line 1668 of file kcalendarsystem.cpp.

QString KCalendarSystem::daysInWeekString ( const QDate &  date) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Returns the days in week for a date as a numeric string

Parameters
dateThe date to convert
Returns
The days in week literal of the date, empty string if any error
See also
daysInWeek()

Definition at line 2013 of file kcalendarsystem.cpp.

int KCalendarSystem::daysInYear ( const QDate &  date) const
virtual

Returns the number of days in the given year.

Parameters
datethe date to obtain year from
Returns
number of days in year, -1 if input date invalid

Reimplemented in KCalendarSystemQDate.

Definition at line 1620 of file kcalendarsystem.cpp.

int KCalendarSystem::daysInYear ( int  year) const
Since
4.5

Returns the number of days in the given year.

Parameters
yearthe year
Returns
number of days in year, -1 if input date invalid

Definition at line 1632 of file kcalendarsystem.cpp.

QString KCalendarSystem::daysInYearString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Returns the days in year for a date as a numeric string

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The days in year literal of the date, empty string if any error
See also
daysInYear()

Definition at line 1993 of file kcalendarsystem.cpp.

QString KCalendarSystem::dayString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
virtual
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)

Converts a date into a day literal

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The day literal of the date, empty string if any error
See also
day()

Definition at line 1927 of file kcalendarsystem.cpp.

int KCalendarSystem::dayStringToInteger ( const QString &  sNum,
int &  iLength 
) const
virtual
Deprecated:
for internal use only

Converts a day literal of a part of a string into a integer starting at the beginning of the string

Parameters
sNumThe string to parse
iLengthThe number of QChars used, and 0 if no valid symbols was found in the string
Returns
An integer corresponding to the day

Definition at line 2042 of file kcalendarsystem.cpp.

QDate KCalendarSystem::earliestValidDate ( ) const
virtual

Returns the earliest date valid in this calendar system implementation.

If the calendar system is proleptic then this may be before epoch.

See also
KCalendarSystem::epoch
KCalendarSystem::latestValidDate
Returns
date the earliest valid date

Reimplemented in KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemHebrew, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemQDate, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1120 of file kcalendarsystem.cpp.

QDate KCalendarSystem::epoch ( ) const
virtual

Returns a QDate holding the epoch of the calendar system.

Usually YMD of 1/1/1, access the returned QDates method toJulianDay() if you require the actual Julian day number. Note: a particular calendar system implementation may not include the epoch in its supported range, or the calendar system may be proleptic in which case it supports dates before the epoch.

See also
KCalendarSystem::earliestValidDate
KCalendarSystem::latestValidDate
KCalendarSystem::isProleptic
KCalendarSystem::isValid
Returns
epoch of calendar system

Reimplemented in KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemHebrew, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemQDate, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1115 of file kcalendarsystem.cpp.

QString KCalendarSystem::eraName ( const QDate &  date,
StringFormat  format = ShortFormat 
) const
Since
4.5

Returns the Era Name portion of a given date in the current calendar system, for example "AD" or "Anno Domini" for the Gregorian calendar and Christian Era.

Parameters
datedate to return Era Name for
formatformat to return, either short or long
Returns
era name, empty string if input date is invalid

Definition at line 1371 of file kcalendarsystem.cpp.

QString KCalendarSystem::eraYear ( const QDate &  date,
StringFormat  format = ShortFormat 
) const
Since
4.5

Returns the Era Year portion of a given date in the current calendar system, for example "2000 AD" or "Heisei 22".

Parameters
datedate to return Era Year for
formatformat to return, either short or long
Returns
era name, empty string if input date is invalid

Definition at line 1387 of file kcalendarsystem.cpp.

QDate KCalendarSystem::firstDayOfMonth ( int  year,
int  month 
) const
Since
4.6

Returns a QDate containing the first day of the month

Parameters
yearThe year to return the date for
monthThe month to return the date for
Returns
The first day of the month

Definition at line 1791 of file kcalendarsystem.cpp.

QDate KCalendarSystem::firstDayOfMonth ( const QDate &  date = QDate::currentDate()) const
Since
4.6

Returns a QDate containing the first day of the month

Parameters
dateThe month to return the date for, defaults to today
Returns
The first day of the month

Definition at line 1815 of file kcalendarsystem.cpp.

QDate KCalendarSystem::firstDayOfYear ( int  year) const
Since
4.6

Returns a QDate containing the first day of the year

Parameters
yearThe year to return the date for
Returns
The first day of the year

Definition at line 1743 of file kcalendarsystem.cpp.

QDate KCalendarSystem::firstDayOfYear ( const QDate &  date = QDate::currentDate()) const
Since
4.6

Returns a QDate containing the first day of the year

Parameters
dateThe year to return the date for, defaults to today
Returns
The first day of the year

Definition at line 1767 of file kcalendarsystem.cpp.

QString KCalendarSystem::formatDate ( const QDate &  fromDate,
KLocale::DateFormat  toFormat = KLocale::LongDate 
) const
virtual

Returns a string formatted to the current locale's conventions regarding dates.

Uses the calendar system's internal locale set when the instance was created, which ensures that the correct calendar system and locale settings are respected, which would not occur in some cases if using the global locale. Defaults to global locale.

See also
KLocale::formatDate
Parameters
fromDatethe date to be formatted
toFormatcategory of date format to use
Returns
The date as a string

Definition at line 2048 of file kcalendarsystem.cpp.

QString KCalendarSystem::formatDate ( const QDate &  fromDate,
const QString &  toFormat,
KLocale::DateTimeFormatStandard  formatStandard = KLocale::KdeFormat 
) const
Since
4.4

Returns a string formatted to the given format and localised to the correct language and digit set using the requested format standard.

   *** WITH GREAT POWER COMES GREAT RESPONSIBILITY ***

Please use with care and only in situations where the DateFormat enum or locale formats or individual string methods do not provide what you need. You should almost always translate your format string as documented. Using the standard DateFormat options instead would take care of the translation for you.

Warning: The n element differs from the GNU/POSIX standard where it is defined as a newline. KDE currently uses this for short day number. It is recommended for compatibility purposes to use %-m instead.

The toFormat parameter is a good candidate to be made translatable, so that translators can adapt it to their language's convention. There should also be a context using the "kdedt-format" keyword (for automatic validation of translations) and stating the format's purpose:

QDate reportDate;
KGlobal::locale()->calendar()->setDate(reportDate, reportYear, reportMonth, 1);
dateFormat = i18nc("(kdedt-format) Report month and year in report header", "%B %Y"));
dateString = KGlobal::locale()->calendar()->formatDate(reportDate, dateFormat);

The date format string can be defined using either the KDE or POSIX standards. The KDE standard closely follows the POSIX standard but with some exceptions. Always use the KDE standard within KDE, but where interaction is required with external POSIX compliant systems (e.g. Gnome, glibc, etc) the POSIX standard should be used.

Date format strings are made up of date componants and string literals. Date componants are prefixed by a % escape character and are made up of optional padding and case modifier flags, an optional width value, and a compulsary code for the actual date componant: %[Flags][Width][Componant] e.g. _^5Y No spaces are allowed.

The Flags can modify the padding character and/or case of the Date Componant. The Flags are optional and may be combined and/or repeated in any order, in which case the last Padding Flag and last Case Flag will be the ones used. The Flags must be immediately after the % and before any Width.

The Width can modify how wide the date Componant is padded to. The Width is an optional interger value and must be after any Flags but before the Componant. If the Width is less than the minimum defined for a Componant then the default minimum will be used instead.

By default most numeric Date Componants are right-aligned with leading 0's.

By default all string name fields are capital case and unpadded.

The following Flags may be specified:

  • - (hyphen) no padding (e.g. 1 Jan and "%-j" = "1")
  • _ (underscore) pad with spaces (e.g. 1 Jan and "%-j" = " 1")
  • 0 (zero) pad with 0's (e.g. 1 Jan and "%0j" = "001")
  • ^ (caret) make uppercase (e.g. 1 Jan and "%^B" = "JANUARY")
  • # (hash) invert case (e.g. 1 Jan and "%#B" = "???")

The following Date Componants can be specified:

  • Y the year to 4 digits (e.g. "1984" for 1984, "0584" for 584, "0084" for 84)
  • C the 'century' portion of the year to 2 digits (e.g. "19" for 1984, "05" for 584, "00" for 84)
  • y the lower 2 digits of the year to 2 digits (e.g. "84" for 1984, "05" for 2005)
  • EY the full local era year (e.g. "2000 AD")
  • EC the era name short form (e.g. "AD")
  • Ey the year in era to 1 digit (e.g. 1 or 2000)
  • m the month number to 2 digits (January="01", December="12")
  • n the month number to 1 digit (January="1", December="12"), see notes!
  • d the day number of the month to 2 digits (e.g. "01" on the first of March)
  • e the day number of the month to 1 digit (e.g. "1" on the first of March)
  • B the month name long form (e.g. "January")
  • b the month name short form (e.g. "Jan" for January)
  • h the month name short form (e.g. "Jan" for January)
  • A the weekday name long form (e.g. "Wednesday" for Wednesday)
  • a the weekday name short form (e.g. "Wed" for Wednesday)
  • j the day of the year number to 3 digits (e.g. "001" for 1 Jan)
  • V the ISO week of the year number to 2 digits (e.g. "01" for ISO Week 1)
  • G the year number in long form of the ISO week of the year to 4 digits (e.g. "2004" for 1 Jan 2005)
  • g the year number in short form of the ISO week of the year to 2 digits (e.g. "04" for 1 Jan 2005)
  • u the day of the week number to 1 digit (e.g. "1" for Monday)
  • D the US short date format (e.g. "%m/%d/%y")
  • F the ISO short date format (e.g. "%Y-%m-%d")
  • x the KDE locale short date format
  • %% the literal "%"
  • t a tab character

Everything else in the format string will be taken as literal text.

Examples: "%Y-%m-%d" = "2009-01-01" "%Y-%-m-%_4d" = "2009-1- 1"

The following format codes behave differently in the KDE and POSIX standards

  • e in GNU/POSIX is space padded to 2 digits, in KDE is not padded
  • n in GNU/POSIX is newline, in KDE is short month number

The following POSIX format codes are currently not supported:

  • U US week number
  • w US day of week
  • W US week number
  • O locale's alternative numeric symbols, in KDE is not supported

%0 is not supported as the returned result is always in the locale's chosen numeric symbol digit set.

See also
KLocale::formatDate
Parameters
fromDatethe date to be formatted
toFormatthe date format to use
formatStandardthe standard the date format uses, defaults to KDE Standard
Returns
The date as a string

Definition at line 2092 of file kcalendarsystem.cpp.

QString KCalendarSystem::formatDate ( const QDate &  fromDate,
const QString &  toFormat,
KLocale::DigitSet  digitSet,
KLocale::DateTimeFormatStandard  formatStandard = KLocale::KdeFormat 
) const
Since
4.4

Returns a string formatted to the given format string and Digit Set. Only use this version if you need control over the Digit Set and do not want to use the locale Digit Set.

See also
formatDate
Parameters
fromDatethe date to be formatted
toFormatthe date format to use
digitSetthe Digit Set to format the date in
formatStandardthe standard the date format uses, defaults to KDE Standard
Returns
The date as a string

Definition at line 2099 of file kcalendarsystem.cpp.

QString KCalendarSystem::formatDate ( const QDate &  date,
KLocale::DateTimeComponent  component,
KLocale::DateTimeComponentFormat  format = KLocale::DefaultComponentFormat,
KLocale::WeekNumberSystem  weekNumberSystem = KLocale::DefaultWeekNumber 
) const
Since
4.6

Returns a Date Component as a localized string in the requested format.

For example for 2010-01-01 the KLocale::Month with en_US Locale and Gregorian calendar may return: KLocale::ShortNumber = "1" KLocale::LongNumber = "01" KLocale::NarrowName = "J" KLocale::ShortName = "Jan" KLocale::LongName = "January"

Parameters
dateThe date to format
componentThe date component to return
formatThe format to return the component in
weekNumberSystemTo override the default Week Number System to use
Returns
The localized string form of the date component

Definition at line 2111 of file kcalendarsystem.cpp.

void KCalendarSystem::getDate ( const QDate  date,
int *  year,
int *  month,
int *  day 
) const
Since
4.5

Returns the year, month and day portion of a given date in the current calendar system

Parameters
datedate to get year, month and day for
yearyear number returned in this variable
monthmonth number returned in this variable
dayday of month returned in this variable

Definition at line 1307 of file kcalendarsystem.cpp.

bool KCalendarSystem::isLeapYear ( int  year) const
pure virtual

Returns whether a given year is a leap year.

Input year must be checked for validity in current Calendar System prior to calling, no validity checking performed in this routine, behaviour is undefined in invalid case.

Parameters
yearthe year to check
Returns
true if the year is a leap year, false otherwise

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1720 of file kcalendarsystem.cpp.

bool KCalendarSystem::isLeapYear ( const QDate &  date) const
virtual

Returns whether a given date falls in a leap year.

Input date must be checked for validity in current Calendar System prior to calling, no validity checking performed in this routine, behaviour is undefined in invalid case.

Parameters
datethe date to check
Returns
true if the date falls in a leap year, false otherwise

Reimplemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1731 of file kcalendarsystem.cpp.

virtual bool KCalendarSystem::isLunar ( ) const
pure virtual

Returns whether the calendar is lunar based.

Returns
true if the calendar is lunar based, false if not

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

virtual bool KCalendarSystem::isLunisolar ( ) const
pure virtual

Returns whether the calendar is lunisolar based.

Returns
true if the calendar is lunisolar based, false if not

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

virtual bool KCalendarSystem::isProleptic ( ) const
pure virtual

Returns whether the calendar system is proleptic, i.e.

whether dates before the epoch are supported.

See also
KCalendarSystem::epoch
Returns
true if the calendar system is proleptic, false if not

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

virtual bool KCalendarSystem::isSolar ( ) const
pure virtual

Returns whether the calendar is solar based.

Returns
true if the calendar is solar based, false if not

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

bool KCalendarSystem::isValid ( int  year,
int  month,
int  day 
) const
pure virtual

Returns whether a given date is valid in this calendar system.

Parameters
yearthe year portion of the date to check
monththe month portion of the date to check
daythe day portion of the date to check
Returns
true if the date is valid, false otherwise

Implemented in KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemHebrew, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemQDate, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1133 of file kcalendarsystem.cpp.

bool KCalendarSystem::isValid ( int  year,
int  dayOfYear 
) const
Since
4.4

Returns whether a given date is valid in this calendar system.

Parameters
yearthe year portion of the date to check
dayOfYearthe day of year portion of the date to check
Returns
true if the date is valid, false otherwise

Definition at line 1154 of file kcalendarsystem.cpp.

bool KCalendarSystem::isValid ( const QString &  eraName,
int  yearInEra,
int  month,
int  day 
) const
Since
4.5

Returns whether a given date is valid in this calendar system.

Parameters
eraNamethe Era Name portion of the date to check
yearInErathe Year In Era portion of the date to check
monththe Month portion of the date to check
daythe Day portion of the date to check
Returns
true if the date is valid, false otherwise

Definition at line 1162 of file kcalendarsystem.cpp.

bool KCalendarSystem::isValid ( const QDate &  date) const
virtual

Returns whether a given date is valid in this calendar system.

Parameters
datethe date to check
Returns
true if the date is valid, false otherwise

Reimplemented in KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemHebrew, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemQDate, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1214 of file kcalendarsystem.cpp.

bool KCalendarSystem::isValidIsoWeekDate ( int  year,
int  isoWeekNumber,
int  dayOfIsoWeek 
) const
Since
4.4

Returns whether a given date is valid in this calendar system.

Parameters
yearthe year portion of the date to check
isoWeekNumberthe ISO week portion of the date to check
dayOfIsoWeekthe day of week portion of the date to check
Returns
true if the date is valid, false otherwise

Definition at line 1171 of file kcalendarsystem.cpp.

bool KCalendarSystem::julianDayToDate ( int  jd,
int &  year,
int &  month,
int &  day 
) const
protectedpure virtual

Internal method to convert a Julian Day number into the YMD values for this calendar system.

All calendar system implementations MUST implement julianDayToDate and dateToJulianDay methods as all other methods can be expressed as functions of these. Does no internal validity checking.

See also
KCalendarSystem::dateToJulianDay
Parameters
jdJulian day number to convert to date
yearyear number returned in this variable
monthmonth number returned in this variable
dayday of month returned in this variable
Returns
true if the date is valid, false otherwise

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

Definition at line 2416 of file kcalendarsystem.cpp.

QDate KCalendarSystem::lastDayOfMonth ( int  year,
int  month 
) const
Since
4.6

Returns a QDate containing the last day of the month

Parameters
yearThe year to return the date for
monthThe month to return the date for
Returns
The last day of the month

Definition at line 1803 of file kcalendarsystem.cpp.

QDate KCalendarSystem::lastDayOfMonth ( const QDate &  date = QDate::currentDate()) const
Since
4.6

Returns a QDate containing the last day of the month

Parameters
dateThe month to return the date for, defaults to today
Returns
The last day of the month

Definition at line 1829 of file kcalendarsystem.cpp.

QDate KCalendarSystem::lastDayOfYear ( int  year) const
Since
4.6

Returns a QDate containing the last day of the year

Parameters
yearThe year to return the date for
Returns
The last day of the year

Definition at line 1755 of file kcalendarsystem.cpp.

QDate KCalendarSystem::lastDayOfYear ( const QDate &  date = QDate::currentDate()) const
Since
4.6

Returns a QDate containing the last day of the year

Parameters
dateThe year to return the date for, defaults to today
Returns
The last day of the year

Definition at line 1779 of file kcalendarsystem.cpp.

QDate KCalendarSystem::latestValidDate ( ) const
virtual

Returns the latest date valid in this calendar system implementation.

See also
KCalendarSystem::epoch
KCalendarSystem::earliestValidDate
Returns
date the latest valid date

Reimplemented in KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemHebrew, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemQDate, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemThai, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1127 of file kcalendarsystem.cpp.

const KLocale * KCalendarSystem::locale ( ) const
protected

Returns the locale used for translations and formats for this calendar system instance.

This allows a calendar system instance to be independent of the global translations and formats if required. All implementations must refer to this locale.

Only for internal calendar system use; if public access is required then provide public methods only for those methods actually required. Any app that creates an instance with its own locale overriding global will have the original handle to the locale and can manipulate it that way if required, e.g. to change default date format. Only expose those methods that library widgets require access to internally.

See also
KCalendarSystem::formatDate
KLocale::formatDate
KCalendarSystem::weekStartDay
KLocale::weekStartDay
KCalendarSystem::readDate
KLocale::readDate
Returns
locale to use

Definition at line 2479 of file kcalendarsystem.cpp.

int KCalendarSystem::month ( const QDate &  date) const
virtual

Returns the month portion of a given date in the current calendar system.

Parameters
datedate to return month for
Returns
month of year, 0 if input date is invalid

Reimplemented in KCalendarSystemQDate.

Definition at line 1344 of file kcalendarsystem.cpp.

QString KCalendarSystem::monthName ( int  month,
int  year,
KCalendarSystem::MonthNameFormat  format = LongName 
) const
pure virtual

Gets specific calendar type month name for a given month number If an invalid month is specified, QString() is returned.

Parameters
monththe month number
yearthe year the month belongs to
formatspecifies whether the short month name or long month name should be used
Returns
name of the month, empty string if any error

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1842 of file kcalendarsystem.cpp.

QString KCalendarSystem::monthName ( const QDate &  date,
MonthNameFormat  format = LongName 
) const
virtual

Gets specific calendar type month name for a given date.

Parameters
datedate to obtain month from
formatspecifies whether the short month name or long month name should be used
Returns
name of the month, empty string if any error

Reimplemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1870 of file kcalendarsystem.cpp.

int KCalendarSystem::monthsDifference ( const QDate &  fromDate,
const QDate &  toDate 
) const

Returns the difference between two dates in completed calendar months The returned value will be negative if fromDate > toDate.

For example, the difference between 2010-06-10 and 2012-09-5 is 26 months. Note that the difference between two last days of the month is always 1 month, e.g. 2010-01-31 to 2010-02-28 is 1 month not 28 days.

Parameters
fromDateThe date to start from
toDateThe date to end at
Returns
The number of months difference

Definition at line 1542 of file kcalendarsystem.cpp.

int KCalendarSystem::monthsInYear ( const QDate &  date) const
virtual

Returns number of months in the given year.

Parameters
datethe date to obtain year from
Returns
number of months in the year, -1 if input date invalid

Definition at line 1563 of file kcalendarsystem.cpp.

int KCalendarSystem::monthsInYear ( int  year) const
Since
4.5

Returns number of months in the given year

Parameters
yearthe required year
Returns
number of months in the year, -1 if input date invalid

Definition at line 1575 of file kcalendarsystem.cpp.

QString KCalendarSystem::monthsInYearString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Returns the months in year for a date as a numeric string

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The months in year literal of the date, empty string if any error
See also
monthsInYear()

Definition at line 1973 of file kcalendarsystem.cpp.

QString KCalendarSystem::monthString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
virtual
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)

Converts a date into a month literal

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The month literal of the date, empty string if any error
See also
month()

Definition at line 1918 of file kcalendarsystem.cpp.

int KCalendarSystem::monthStringToInteger ( const QString &  sNum,
int &  iLength 
) const
virtual
Deprecated:
for internal use only

Converts a month literal of a part of a string into a integer starting at the beginning of the string

Parameters
sNumThe string to parse
iLengthThe number of QChars used, and 0 if no valid symbols was found in the string
Returns
An integer corresponding to the month

Definition at line 2036 of file kcalendarsystem.cpp.

QDate KCalendarSystem::readDate ( const QString &  str,
bool *  ok = 0 
) const
virtual

Converts a localized date string to a QDate.

The bool pointed by ok will be false if the date entered was invalid.

Uses the calendar system's internal locale set when the instance was created, which ensures that the correct calendar system and locale settings are respected, which would not occur in some cases if using the global locale. Defaults to global locale.

See also
KLocale::readDate
Parameters
strthe string to convert
okif non-null, will be set to true if the date is valid, false if invalid
Returns
the string converted to a QDate

Definition at line 2333 of file kcalendarsystem.cpp.

QDate KCalendarSystem::readDate ( const QString &  str,
KLocale::ReadDateFlags  flags,
bool *  ok = 0 
) const
virtual

Converts a localized date string to a QDate.

This method is stricter than readDate(str,&ok): it will either accept a date in full format or a date in short format, depending on flags.

Uses the calendar system's internal locale set when the instance was created, which ensures that the correct calendar system and locale settings are respected, which would not occur in some cases if using the global locale. Defaults to global locale.

See also
KLocale::readDate
Parameters
strthe string to convert
flagswhether the date string is to be in full format or in short format
okif non-null, will be set to true if the date is valid, false if invalid
Returns
the string converted to a QDate

Definition at line 2354 of file kcalendarsystem.cpp.

QDate KCalendarSystem::readDate ( const QString &  dateString,
const QString &  dateFormat,
bool *  ok = 0 
) const
virtual

Converts a localized date string to a QDate, using the specified format.

You will usually not want to use this method. Uses teh KDE format standard.

Parameters
dateStringthe string to convert
dateFormatthe date format to use, in KDE format standard
okif non-null, will be set to true if the date is valid, false if invalid
Returns
the string converted to a QDate
See also
formatDate
KLocale::readDate

Definition at line 2372 of file kcalendarsystem.cpp.

QDate KCalendarSystem::readDate ( const QString &  dateString,
const QString &  dateFormat,
bool *  ok,
KLocale::DateTimeFormatStandard  formatStandard 
) const

Converts a localized date string to a QDate, using the specified format.

You will usually not want to use this method.

You must supply a format and string containing at least one of the following combinations to create a valid date:

  • a month and day of month
  • a day of year
  • a ISO week number and day of week

If a year number is not supplied then the current year will be assumed.

All date componants must be separated by a non-numeric character.

The format is not applied strictly to the input string:

  • extra whitespace is ignored
  • leading 0's on numbers are ignored
  • capitalisation of literals is ignored

The allowed format componants are almost the same as the formatDate() function. The following date componants will be read:

  • Y the whole year (e.g. "1984" for 1984)
  • y the lower 2 digits of the year (e.g. "84" for 1984)
  • EY the full local era year (e.g. "2000 AD")
  • EC the era name short form (e.g. "AD")
  • Ey the year in era to 1 digit (e.g. 1 or 2000)
  • m the month number to two digits (January="01", December="12")
  • n the month number (January="1", December="12")
  • d the day number of the month to two digits (e.g. "01" on the first of March)
  • e the day number of the month (e.g. "1" on the first of March)
  • B the month name long form (e.g. "January")
  • b the month name short form (e.g. "Jan" for January)
  • h the month name short form (e.g. "Jan" for January)
  • A the weekday name long form (e.g. "Wednesday" for Wednesday)
  • a the weekday name short form (e.g. "Wed" for Wednesday)
  • j the day of the year number to three digits (e.g. "001" for 1 Jan)
  • V the ISO week of the year number to two digits (e.g. "01" for ISO Week 1)
  • u the day of the week number (e.g. "1" for Monday)

The following date componants are NOT supported:

  • C the 'century' portion of the year (e.g. "19" for 1984, "5" for 584, "" for 84)
  • G the year number in long form of the ISO week of the year (e.g. "2004" for 1 Jan 2005)
  • g the year number in short form of the ISO week of the year (e.g. "04" for 1 Jan 2005)
  • D the US short date format (e.g. "%m/%d/%y")
  • F the ISO short date format (e.g. "%Y-%m-%d")
  • x the KDE locale short date format
  • %% the literal "%"
  • t a tab character
Parameters
dateStringthe string to convert
dateFormatthe date format to use
okif non-null, will be set to true if the date is valid, false if invalid
formatStandardthe standard the date format uses
Returns
the string converted to a QDate
See also
formatDate
KLocale::readDate

Definition at line 2378 of file kcalendarsystem.cpp.

bool KCalendarSystem::setDate ( QDate &  date,
int  year,
int  month,
int  day 
) const
virtual

Changes the date's year, month and day.

The range of the year, month and day depends on which calendar is being used. All years entered are treated literally, i.e. no Y2K translation is applied to years entered in the range 00 to 99. Replaces setYMD.

Parameters
datedate to change
yearyear
monthmonth number
dayday of month
Returns
true if the date is valid, false otherwise

Definition at line 1222 of file kcalendarsystem.cpp.

bool KCalendarSystem::setDate ( QDate &  date,
int  year,
int  dayOfYear 
) const
Since
4.4

Set a date using the year number and day of year number only.

Parameters
datedate to change
yearyear
dayOfYearday of year
Returns
true if the date is valid, false otherwise

Definition at line 1243 of file kcalendarsystem.cpp.

bool KCalendarSystem::setDate ( QDate &  date,
QString  eraName,
int  yearInEra,
int  month,
int  day 
) const
Since
4.5

Set a date using the era, year in era number, month and day

Parameters
datedate to change
eraNameEra string
yearInEraYear In Era number
monthMonth number
dayDay Of Month number
Returns
true if the date is valid, false otherwise

Definition at line 1263 of file kcalendarsystem.cpp.

bool KCalendarSystem::setDateIsoWeek ( QDate &  date,
int  year,
int  isoWeekNumber,
int  dayOfIsoWeek 
) const
Since
4.4

Set a date using the year number, ISO week number and day of week number.

Parameters
datedate to change
yearyear
isoWeekNumberISO week of year
dayOfIsoWeekday of week Mon..Sun (1..7)
Returns
true if the date is valid, false otherwise

Definition at line 1272 of file kcalendarsystem.cpp.

void KCalendarSystem::setHasYear0 ( bool  hasYear0)
protected
Deprecated:
for internal use only
Since
4.4

Sets if Calendar System has Year 0 or not

Only for internal calendar system use

Definition at line 2499 of file kcalendarsystem.cpp.

void KCalendarSystem::setMaxDaysInWeek ( int  maxDays)
protected
Deprecated:
for internal use only

Sets the maximum number of days in a week

Only for internal calendar system use

Definition at line 2493 of file kcalendarsystem.cpp.

void KCalendarSystem::setMaxMonthsInYear ( int  maxMonths)
protected
Deprecated:
for internal use only

Sets the maximum number of months in a year

Only for internal calendar system use

Definition at line 2487 of file kcalendarsystem.cpp.

bool KCalendarSystem::setYMD ( QDate &  date,
int  y,
int  m,
int  d 
) const
virtual
Deprecated:
Use setDate() instead

Some implementations reject year range 00 to 99, but extended date ranges now require these to be accepted. Equivalent in QDate is obsoleted.

Changes the date's year, month and day. The range of the year, month and day depends on which calendar is being used.

Parameters
dateDate to change
yYear
mMonth number
dDay of month
Returns
true if the date is valid; otherwise returns false.

Definition at line 1301 of file kcalendarsystem.cpp.

int KCalendarSystem::shortYearWindowStartYear ( ) const
Since
4.6

Returns the Short Year Window Start Year for the current Calendar System.

Use this function to get the Start Year for the Short Year Window to be applied when 2 digit years are entered for a Short Year input format, e.g. if the Short Year Window Start Year is 1930, then the input Short Year value of 40 is interpreted as 1940 and the input Short Year value of 10 is interpreted as 2010.

The Short Year Window is only ever applied when reading the Short Year format and not the Long Year format, i.e. KLocale::ShortFormat or 'y' only and not KLocale::LongFormat or 'Y'.

The Start Year 0 effectively means not to use a Short Year Window

Each Calendar System requires a different Short Year Window as they have different epochs. The Gregorian Short Year Window usually pivots around the year 2000, whereas the Hebrew Short Year Window usually pivots around the year 5000.

This value must always be used when evaluating user input Short Year strings.

See also
KLocale::shortYearWindowStartYear
KLocale::applyShortYearWindow
Returns
the short year window start year

Definition at line 2390 of file kcalendarsystem.cpp.

int KCalendarSystem::week ( const QDate &  date,
int *  yearNum = 0 
) const

Returns the localized Week Number for the date.

This may be ISO, US, or any other supported week numbering scheme. If you specifically require the ISO Week or any other scheme, you should use the week(KLocale::WeekNumberSystem) form.

If the date falls in the last week of the previous year or the first week of the following year, then the yearNum returned will be set to the appropriate year.

See also
weeksInYear()
formatDate()
Parameters
datethe date to obtain week from
yearNumreturns the year the date belongs to
Returns
localized week number, -1 if input date invalid

Definition at line 1703 of file kcalendarsystem.cpp.

int KCalendarSystem::week ( const QDate &  date,
KLocale::WeekNumberSystem  weekNumberSystem,
int *  yearNum = 0 
) const

Returns the Week Number for the date in the required Week Number System.

Unless you want a specific Week Number System (e.g. ISO Week), you should use the localized Week Number form of week().

If the date falls in the last week of the previous year or the first week of the following year, then the yearNum returned will be set to the appropriate year.

Technically, the ISO Week Number only applies to the ISO/Gregorian Calendar System, but the same rules will be applied to the current Calendar System.

See also
weeksInYear()
formatDate()
Parameters
datethe date to obtain week from
weekNumberSystemthe Week Number System to use
yearNumreturns the year the date belongs to
Returns
week number, -1 if input date invalid

Definition at line 1709 of file kcalendarsystem.cpp.

QString KCalendarSystem::weekDayName ( int  weekDay,
KCalendarSystem::WeekDayNameFormat  format = LongDayName 
) const
pure virtual

Gets specific calendar type week day name.

If an invalid week day is specified, QString() is returned.

Parameters
weekDaynumber of day in week (Monday = 1, ..., Sunday = 7)
formatspecifies whether the short month name or long month name should be used
Returns
day name, empty string if any error

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1881 of file kcalendarsystem.cpp.

QString KCalendarSystem::weekDayName ( const QDate &  date,
WeekDayNameFormat  format = LongDayName 
) const
virtual

Gets specific calendar type week day name.

Parameters
datethe date
formatspecifies whether the short month name or long month name should be used
Returns
day name, empty string if any error

Reimplemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemIslamicCivil, KCalendarSystemGregorian, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemEthiopian, KCalendarSystemJapanese, KCalendarSystemMinguo, KCalendarSystemCoptic, and KCalendarSystemJalali.

Definition at line 1900 of file kcalendarsystem.cpp.

virtual int KCalendarSystem::weekDayOfPray ( ) const
pure virtual
Deprecated:
use KLocale::weekDayOfPray() instead

Returns the day of the week traditionally associated with religious observance for this calendar system. Note this may not be accurate for the users locale, e.g. Gregorian calendar used in non-Christian countries, in use cases where this could be an issue it is recommended to use KLocale::weekDayOfPray() instead.

Returns
day number (None = 0, Monday = 1, ..., Sunday = 7)

Implemented in KCalendarSystemQDate, KCalendarSystemHebrew, KCalendarSystemGregorian, KCalendarSystemIslamicCivil, KCalendarSystemIndianNational, KCalendarSystemJulian, KCalendarSystemJapanese, KCalendarSystemEthiopian, KCalendarSystemMinguo, KCalendarSystemCoptic, KCalendarSystemJalali, and KCalendarSystemThai.

int KCalendarSystem::weekNumber ( const QDate &  date,
int *  yearNum = 0 
) const
virtual
Deprecated:
use week() instead

Returns the ISO week number for the given date.

ISO 8601 defines the first week of the year as the week containing the first Thursday. See http://en.wikipedia.org/wiki/ISO_8601 and http://en.wikipedia.org/wiki/ISO_week_date

If the date falls in the last week of the previous year or the first week of the following year, then the yearNum returned will be set to the appropriate year.

Parameters
datethe date to obtain week from
yearNumreturns the year the date belongs to
Returns
ISO week number, -1 if input date invalid

Definition at line 1697 of file kcalendarsystem.cpp.

QString KCalendarSystem::weekNumberString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Converts a date into a week number literal

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The day literal of the date, empty string if any error
See also
weekNumber()

Definition at line 1963 of file kcalendarsystem.cpp.

int KCalendarSystem::weeksInYear ( const QDate &  date) const
virtual

Returns the number of localized weeks in the given year.

Parameters
datethe date to obtain year from
Returns
number of weeks in the year, -1 if input date invalid

Definition at line 1586 of file kcalendarsystem.cpp.

int KCalendarSystem::weeksInYear ( const QDate &  date,
KLocale::WeekNumberSystem  weekNumberSystem 
) const
Since
4.7

Returns the number of Weeks in a year using the required Week Number System.

Unless you specifically want a particular Week Number System (e.g. ISO Weeks) you should use the localized number of weeks provided by weeksInYear().

See also
week()
formatDate()
Parameters
datethe date to obtain year from
weekNumberSystemthe week number system to use
Returns
number of weeks in the year, -1 if date invalid

Definition at line 1597 of file kcalendarsystem.cpp.

int KCalendarSystem::weeksInYear ( int  year) const
virtual

Returns the number of localized weeks in the given year.

Parameters
yearthe year
Returns
number of weeks in the year, -1 if input date invalid

Definition at line 1591 of file kcalendarsystem.cpp.

int KCalendarSystem::weeksInYear ( int  year,
KLocale::WeekNumberSystem  weekNumberSystem 
) const
Since
4.7

Returns the number of Weeks in a year using the required Week Number System.

Unless you specifically want a particular Week Number System (e.g. ISO Weeks) you should use the localized number of weeks provided by weeksInYear().

See also
week()
formatDate()
Parameters
yearthe year
weekNumberSystemthe week number system to use
Returns
number of weeks in the year, -1 if date invalid

Definition at line 1609 of file kcalendarsystem.cpp.

QString KCalendarSystem::weeksInYearString ( const QDate &  pDate,
StringFormat  format = LongFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.4

Returns the weeks in year for a date as a numeric string

Parameters
pDateThe date to convert
formatThe format to return, either short or long
Returns
The weeks in year literal of the date, empty string if any error
See also
weeksInYear()

Definition at line 1983 of file kcalendarsystem.cpp.

int KCalendarSystem::weekStartDay ( ) const
virtual

Use this to determine which day is the first day of the week.

Uses the calendar system's internal locale set when the instance was created, which ensures that the correct calendar system and locale settings are respected, which would not occur in some cases if using the global locale. Defaults to global locale.

See also
KLocale::weekStartDay
Returns
an integer (Monday = 1, ..., Sunday = 7)

Definition at line 2405 of file kcalendarsystem.cpp.

int KCalendarSystem::year ( const QDate &  date) const
virtual

Returns the year portion of a given date in the current calendar system.

Parameters
datedate to return year for
Returns
year, 0 if input date is invalid

Reimplemented in KCalendarSystemQDate.

Definition at line 1331 of file kcalendarsystem.cpp.

int KCalendarSystem::yearInEra ( const QDate &  date) const
Since
4.5

Returns the Year In Era portion of a given date in the current calendar system, for example 1 for "1 BC".

Parameters
datedate to return Year In Era for
Returns
Year In Era, -1 if input date is invalid

Definition at line 1400 of file kcalendarsystem.cpp.

QString KCalendarSystem::yearInEraString ( const QDate &  date,
StringFormat  format = ShortFormat 
) const
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)
Since
4.5

Converts a date into a Year In Era literal

Parameters
datedate to return Year In Era for
formatformat to return, either short or long
Returns
Year In Era literal of the date, empty string if any error

Definition at line 1937 of file kcalendarsystem.cpp.

int KCalendarSystem::yearsDifference ( const QDate &  fromDate,
const QDate &  toDate 
) const

Returns the difference between two dates in completed calendar years.

The returned value will be negative if fromDate > toDate.

For example, the difference between 2010-06-10 and 2012-09-5 is 2 years.

Parameters
fromDateThe date to start from
toDateThe date to end at
Returns
The number of years difference

Definition at line 1530 of file kcalendarsystem.cpp.

QString KCalendarSystem::yearString ( const QDate &  date,
StringFormat  format = LongFormat 
) const
virtual
Deprecated:
use formatDate(QDate, KLocale::DateTimeComponent, KLocale::DateTimeComponentFormat)

Converts a date into a year literal

Parameters
datedate to convert
formatformat to return, either short or long
Returns
year literal of the date, empty string if any error
See also
year()

Definition at line 1909 of file kcalendarsystem.cpp.

int KCalendarSystem::yearStringToInteger ( const QString &  sNum,
int &  iLength 
) const
virtual
Deprecated:
for internal use only

Converts a year literal of a part of a string into a integer starting at the beginning of the string

Parameters
sNumThe string to parse
iLengthThe number of QChars used, and 0 if no valid symbols was found in the string
Returns
An integer corresponding to the year

Reimplemented in KCalendarSystemHebrew, KCalendarSystemGregorian, and KCalendarSystemJapanese.

Definition at line 2018 of file kcalendarsystem.cpp.


The documentation for this class was generated from the following files:
  • kcalendarsystem.h
  • kcalendarsystem.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:22:12 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

Skip menu "KDECore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal