30 class DateTime::Private
34 Private(
const QDate& d,
const KDateTime::Spec& spec) : mDateTime(d, spec) {}
35 Private(
const QDate& d,
const QTime& t,
const KDateTime::Spec& spec) : mDateTime(d, t, spec) {}
36 Private(
const QDateTime& dt,
const KDateTime::Spec& spec) : mDateTime(dt, spec) {}
37 Private(
const KDateTime& dt) : mDateTime(dt) {}
39 static QTime mStartOfDay;
43 QTime DateTime::Private::mStartOfDay;
51 : d(new Private(d, spec))
56 : d(new Private(d, t, spec))
61 : d(new Private(dt, spec))
71 : d(new Private(*dt.d))
95 return d->mDateTime.isNull();
100 return d->mDateTime.isValid();
105 return d->mDateTime.isDateOnly();
110 d->mDateTime.setDateOnly(dateOnly);
115 return d->mDateTime.date();
120 d->mDateTime.setDate(date);
125 return d->mDateTime.dateTime();
135 return d->mDateTime.isDateOnly() ? d->mStartOfDay : d->mDateTime.time();
140 d->mDateTime.setTime(t);
145 if (d->mDateTime.isDateOnly())
147 QDateTime dt = d->mDateTime.dateTime();
148 dt.setTime(d->mStartOfDay);
151 return d->mDateTime.dateTime();
156 d->mDateTime.setDateTime(dt);
161 if (d->mDateTime.isDateOnly())
163 KDateTime dt = d->mDateTime;
164 dt.setTime(d->mStartOfDay);
172 if (d->mDateTime.isDateOnly())
174 KDateTime dt = d->mDateTime;
175 dt.setTime(QTime(0, 0));
183 return d->mDateTime.timeZone();
188 return d->mDateTime.timeSpec();
193 d->mDateTime.setTimeSpec(spec);
198 return d->mDateTime.timeType();
203 return d->mDateTime.isLocalZone();
208 return d->mDateTime.isClockTime();
213 return d->mDateTime.isUtc();
218 return d->mDateTime.isOffsetFromUtc();
223 return d->mDateTime.utcOffset();
228 return d->mDateTime.isSecondOccurrence();
233 d->mDateTime.setSecondOccurrence(second);
238 return DateTime(d->mDateTime.toUtc());
243 return DateTime(d->mDateTime.toOffsetFromUtc());
248 return DateTime(d->mDateTime.toOffsetFromUtc(utcOffset));
253 return DateTime(d->mDateTime.toLocalZone());
258 return DateTime(d->mDateTime.toClockTime());
263 return DateTime(d->mDateTime.toZone(zone));
268 return DateTime(d->mDateTime.toTimeSpec(spec));
273 return d->mDateTime.toTime_t();
278 d->mDateTime.setTime_t(secs);
283 return DateTime(d->mDateTime.addSecs(n));
288 return DateTime(d->mDateTime.addSecs(n * 60));
293 return DateTime(d->mDateTime.addDays(n));
298 return DateTime(d->mDateTime.addMonths(n));
303 return DateTime(d->mDateTime.addYears(n));
308 return d->mDateTime.daysTo(dt.d->mDateTime);
313 return d->mDateTime.secsTo(dt.d->mDateTime) / 60;
318 return d->mDateTime.secsTo(dt.d->mDateTime);
323 return d->mDateTime.secsTo_long(dt.d->mDateTime);
328 if (d->mDateTime.isDateOnly())
329 return d->mDateTime.date().toString(f);
331 return d->mDateTime.dateTime().toString(f);
336 if (d->mDateTime.isDateOnly())
337 return d->mDateTime.date().toString(format);
339 return d->mDateTime.dateTime().toString(format);
344 return KGlobal::locale()->formatDateTime(d->mDateTime, (shortFormat ? KLocale::ShortDate : KLocale::LongDate));
349 Private::mStartOfDay = sod;
354 return d->mDateTime.compare(other.d->mDateTime);
359 return Private::mStartOfDay;
364 return dt1.d->mDateTime == dt2.d->mDateTime;
367 bool operator==(
const KDateTime& dt1,
const DateTime& dt2)
369 return dt1 == dt2.d->mDateTime;
376 KDateTime dt = dt1.d->mDateTime.
addDays(1);
377 dt.
setTime(DateTime::Private::mStartOfDay);
378 return dt <= dt2.d->mDateTime;
382 KDateTime dt = dt2.d->mDateTime;
383 dt.
setTime(DateTime::Private::mStartOfDay);
384 return dt1.d->mDateTime < dt;
386 return dt1.d->mDateTime < dt2.d->mDateTime;