KDECore
kcalendarsystemgregorian.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KCALENDARSYSTEMGREGORIAN_H
00023 #define KCALENDARSYSTEMGREGORIAN_H
00024
00025 #include "kcalendarsystem.h"
00026
00027 class KCalendarSystemGregorianPrivate;
00028
00045 class KDECORE_EXPORT KCalendarSystemGregorian: public KCalendarSystem
00046 {
00047 public:
00048 explicit KCalendarSystemGregorian ( const KLocale *locale = 0 );
00049 virtual ~KCalendarSystemGregorian ();
00050
00051 virtual QString calendarType() const;
00052
00053 virtual QDate epoch() const;
00054 virtual QDate earliestValidDate() const;
00055 virtual QDate latestValidDate() const;
00056 virtual bool isValid( int year, int month, int day ) const;
00057 virtual bool isValid( const QDate &date ) const;
00058
00059 virtual bool setDate( QDate &date, int year, int month, int day ) const;
00061 virtual bool setYMD( QDate &date, int year, int month, int day ) const;
00062
00063 virtual int year( const QDate &date ) const;
00064 virtual int month( const QDate &date ) const;
00065 virtual int day( const QDate &date ) const;
00066
00067 virtual QDate addYears( const QDate &date, int nyears ) const;
00068 virtual QDate addMonths( const QDate &date, int nmonths ) const;
00069 virtual QDate addDays( const QDate &date, int ndays ) const;
00070
00071 virtual int monthsInYear( const QDate &date ) const;
00072 virtual int weeksInYear( const QDate &date ) const;
00073 virtual int weeksInYear( int year ) const;
00074 virtual int daysInYear( const QDate &date ) const;
00075 virtual int daysInMonth( const QDate &date ) const;
00076 virtual int daysInWeek( const QDate &date ) const;
00077
00078 virtual int dayOfYear( const QDate &date ) const;
00079 virtual int dayOfWeek( const QDate &date ) const;
00080
00081 virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
00082
00083 virtual bool isLeapYear( int year ) const;
00084 virtual bool isLeapYear( const QDate &date ) const;
00085
00086 virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
00087 virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
00088
00089 virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
00090 virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
00091
00092 virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
00093 virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
00094 virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
00095
00096 virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
00097 virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
00098 virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
00099
00100 virtual QString formatDate( const QDate &date, KLocale::DateFormat format = KLocale::LongDate ) const;
00101
00102 virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
00103 virtual QDate readDate( const QString &intstr, const QString &fmt, bool *ok = 0 ) const;
00104 virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
00105
00106 virtual int weekStartDay() const;
00107 virtual int weekDayOfPray () const;
00108
00109 virtual bool isLunar() const;
00110 virtual bool isLunisolar() const;
00111 virtual bool isSolar() const;
00112 virtual bool isProleptic() const;
00113
00114 protected:
00115 virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
00116 virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
00117
00118 private:
00119 KCalendarSystemGregorianPrivate * const d;
00120 };
00121
00122 #endif