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 = 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 date.addYears(nyears);
227 TQDate KCalendarSystemGregorian::addMonths(
const TQDate & date,
int nmonths)
const 229 return date.addMonths(nmonths);
232 TQDate KCalendarSystemGregorian::addDays(
const TQDate & date,
int ndays)
const 234 return 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...