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

KDECore

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
KCalendarSystem Class Reference

#include <kcalendarsystem.h>

Inheritance diagram for KCalendarSystem:
KCalendarSystemCoptic KCalendarSystemGregorian KCalendarSystemHebrew KCalendarSystemIndianNational KCalendarSystemIslamicCivil KCalendarSystemJalali KCalendarSystemJulian KCalendarSystemQDate

List of all members.

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.

  @param locale locale 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.

  @param config a configuration file with a 'KCalendarSystem %calendarName' group detailing
                locale-related preferences (such as era options).  The global config is used
                if null.
  @param locale locale 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.

  @param dd derived private d-pointer.
  @param config a configuration file with a 'KCalendarSystem %calendarName' group detailing
                locale-related preferences (such as era options).  The global config is used
                if null.
  @param locale locale 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.

   @param calendarType the specific calendar type to return the label for

   @return 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"

   @param calendarType the calendar type to convert
   @return 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.

   @return 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.

   @return 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

   @param calType string identification of the specific calendar type
   to be constructed
   @param locale locale to use for translations. The global locale is used if null.
   @return 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

   @param calType string identification of the specific calendar type to be constructed
   @param config a configuration file with a 'KCalendarSystem %calendarType' group detailing
                 locale-related preferences (such as era options).  The global config is used
                 if null.
   @param locale locale to use for translations. The global locale is used if null.
   @return 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

   @param pDate The date to convert
   @return The day of week literal of the date, empty string if any error
   @see 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The day of year literal of the date, empty string if any error
   @see 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The days in month literal of the date, empty string if any error
   @see 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

   @param date The date to convert
   @return The days in week literal of the date, empty string if any error
   @see 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The days in year literal of the date, empty string if any error
   @see 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The day literal of the date, empty string if any error
   @see 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

   @param sNum The string to parse
   @param iLength The number of QChars used, and 0 if no valid symbols was found in the string
   @return 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The months in year literal of the date, empty string if any error
   @see 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The month literal of the date, empty string if any error
   @see 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

   @param sNum The string to parse
   @param iLength The number of QChars used, and 0 if no valid symbols was found in the string
   @return 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.

   @param date Date to change
   @param y Year
   @param m Month number
   @param d Day of month
   @return 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.

   @return 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.

   @param date the date to obtain week from
   @param yearNum returns the year the date belongs to
   @return 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The day literal of the date, empty string if any error
   @see 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

   @param pDate The date to convert
   @param format The format to return, either short or long
   @return The weeks in year literal of the date, empty string if any error
   @see 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

   @param date date to return Year In Era for
   @param format format to return, either short or long
   @return 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

   @param date date to convert
   @param format format to return, either short or long
   @return year literal of the date, empty string if any error
   @see 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

   @param sNum The string to parse
   @param iLength The number of QChars used, and 0 if no valid symbols was found in the string
   @return 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-2013 The KDE developers.
Generated on Tue Jul 16 2013 17:47:37 by doxygen 1.8.1.1 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-4.10.5 API Reference

Skip menu "kdelibs-4.10.5 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
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