24 #include <tqdatetime.h>
30 #include "kcalendarsystemgregorian.h"
32 KCalendarSystemGregorian::KCalendarSystemGregorian(
const TDELocale * locale)
37 KCalendarSystemGregorian::~KCalendarSystemGregorian()
41 int KCalendarSystemGregorian::year(
const TQDate& date)
const
46 int KCalendarSystemGregorian::monthsInYear(
const TQDate & date )
const
53 int KCalendarSystemGregorian::weeksInYear(
int year)
const
56 temp.setYMD(year, 12, 31);
60 if ( temp.weekNumber() == 1 )
61 temp = TQT_TQDATE_OBJECT(temp.addDays(-7));
63 return temp.weekNumber();
66 int KCalendarSystemGregorian::weekNumber(
const TQDate& date,
69 return date.weekNumber(yearNum);
72 TQString KCalendarSystemGregorian::monthName(
const TQDate& date,
75 return monthName(month(date), year(date), shortName);
78 TQString KCalendarSystemGregorian::monthNamePossessive(
const TQDate& date,
bool shortName)
const
80 return monthNamePossessive(month(date), year(date), shortName);
83 TQString KCalendarSystemGregorian::monthName(
int month,
int year,
bool shortName)
const
91 return locale()->translate(
"January",
"Jan");
93 return locale()->translate(
"February",
"Feb");
95 return locale()->translate(
"March",
"Mar");
97 return locale()->translate(
"April",
"Apr");
99 return locale()->translate(
"May short",
"May");
101 return locale()->translate(
"June",
"Jun");
103 return locale()->translate(
"July",
"Jul");
105 return locale()->translate(
"August",
"Aug");
107 return locale()->translate(
"September",
"Sep");
109 return locale()->translate(
"October",
"Oct");
111 return locale()->translate(
"November",
"Nov");
113 return locale()->translate(
"December",
"Dec");
119 return locale()->translate(
"January");
121 return locale()->translate(
"February");
123 return locale()->translate(
"March");
125 return locale()->translate(
"April");
127 return locale()->translate(
"May long",
"May");
129 return locale()->translate(
"June");
131 return locale()->translate(
"July");
133 return locale()->translate(
"August");
135 return locale()->translate(
"September");
137 return locale()->translate(
"October");
139 return locale()->translate(
"November");
141 return locale()->translate(
"December");
144 return TQString::null;
147 TQString KCalendarSystemGregorian::monthNamePossessive(
int month,
int year,
148 bool shortName)
const
156 return locale()->translate(
"of January",
"of Jan");
158 return locale()->translate(
"of February",
"of Feb");
160 return locale()->translate(
"of March",
"of Mar");
162 return locale()->translate(
"of April",
"of Apr");
164 return locale()->translate(
"of May short",
"of May");
166 return locale()->translate(
"of June",
"of Jun");
168 return locale()->translate(
"of July",
"of Jul");
170 return locale()->translate(
"of August",
"of Aug");
172 return locale()->translate(
"of September",
"of Sep");
174 return locale()->translate(
"of October",
"of Oct");
176 return locale()->translate(
"of November",
"of Nov");
178 return locale()->translate(
"of December",
"of Dec");
184 return locale()->translate(
"of January");
186 return locale()->translate(
"of February");
188 return locale()->translate(
"of March");
190 return locale()->translate(
"of April");
192 return locale()->translate(
"of May long",
"of May");
194 return locale()->translate(
"of June");
196 return locale()->translate(
"of July");
198 return locale()->translate(
"of August");
200 return locale()->translate(
"of September");
202 return locale()->translate(
"of October");
204 return locale()->translate(
"of November");
206 return locale()->translate(
"of December");
209 return TQString::null;
212 bool KCalendarSystemGregorian::setYMD(TQDate & date,
int y,
int m,
int d)
const
215 if ( y >= 0 && y <= 99 )
219 return date.setYMD(y, m, d);
222 TQDate KCalendarSystemGregorian::addYears(
const TQDate & date,
int nyears)
const
224 return TQT_TQDATE_OBJECT(date.addYears(nyears));
227 TQDate KCalendarSystemGregorian::addMonths(
const TQDate & date,
int nmonths)
const
229 return TQT_TQDATE_OBJECT(date.addMonths(nmonths));
232 TQDate KCalendarSystemGregorian::addDays(
const TQDate & date,
int ndays)
const
234 return TQT_TQDATE_OBJECT(date.addDays(ndays));
237 TQString KCalendarSystemGregorian::weekDayName(
int col,
bool shortName)
const
245 TQString KCalendarSystemGregorian::weekDayName(
const TQDate& date,
bool shortName)
const
247 return weekDayName(dayOfWeek(date), shortName);
251 int KCalendarSystemGregorian::dayOfWeek(
const TQDate& date)
const
253 return date.dayOfWeek();
256 int KCalendarSystemGregorian::dayOfYear(
const TQDate & date)
const
258 return date.dayOfYear();
261 int KCalendarSystemGregorian::daysInMonth(
const TQDate& date)
const
263 return date.daysInMonth();
266 int KCalendarSystemGregorian::minValidYear()
const
271 int KCalendarSystemGregorian::maxValidYear()
const
276 int KCalendarSystemGregorian::day(
const TQDate& date)
const
281 int KCalendarSystemGregorian::month(
const TQDate& date)
const
286 int KCalendarSystemGregorian::daysInYear(
const TQDate& date)
const
288 return date.daysInYear();
291 int KCalendarSystemGregorian::weekDayOfPray()
const
296 TQString KCalendarSystemGregorian::calendarName()
const
298 return TQString::fromLatin1(
"gregorian");
301 bool KCalendarSystemGregorian::isLunar()
const
306 bool KCalendarSystemGregorian::isLunisolar()
const
311 bool KCalendarSystemGregorian::isSolar()
const
316 int KCalendarSystemGregorian::yearStringToInteger(
const TQString & sNum,
int & iLength)
const
325 else if (iYear < 100)
virtual int year(const TQDate &date) const =0
Gets specific calendar type year for a given gregorian date.
virtual int yearStringToInteger(const TQString &sNum, int &iLength) const
Converts a year literal of a part of a string into a integer starting at the beginning of the string...
CalendarSystem abstract class, default derived kde gregorian class and factory class.
TDELocale provides support for country specific stuff like the national language. ...
virtual TQString weekDayName(int weekDay, bool shortName=false) const =0
Gets specific calendar type week day name If an invalid week day is specified, TQString::null is retu...