• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdepim
  • Sitemap
  • Contact Us
 

kalarm/lib

datetime.h

Go to the documentation of this file.
00001 /*
00002  *  datetime.h  -  date/time with start-of-day time for date-only values 
00003  *  Program:  kalarm
00004  *  Copyright © 2003,2005-2007 by David Jarvie <software@astrojar.org.uk>
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; either version 2 of the License, or
00009  *  (at your option) any later version.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00014  *  GNU General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU General Public License along
00017  *  with this program; if not, write to the Free Software Foundation, Inc.,
00018  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019  */
00020 #ifndef DATETIME_H
00021 #define DATETIME_H
00022 
00023 #include <kdatetime.h>
00024 
00025 
00036 class DateTime
00037 {
00038     public:
00042         DateTime() { }
00044         DateTime(const QDate& d, const KDateTime::Spec& spec)
00045                                        : mDateTime(d, spec) { }
00047         DateTime(const QDate& d, const QTime& t, const KDateTime::Spec& spec)
00048                                        : mDateTime(d, t, spec) { }
00050         DateTime(const QDateTime& dt, const KDateTime::Spec& spec)
00051                                        : mDateTime(dt, spec) { }
00053         DateTime(const KDateTime& dt)  : mDateTime(dt) { }
00057         DateTime& operator=(const KDateTime& dt)
00058                                       { mDateTime = dt;  return *this; }
00060         bool isNull() const           { return mDateTime.isNull(); }
00062         bool isValid() const          { return mDateTime.isValid(); }
00064         bool isDateOnly() const       { return mDateTime.isDateOnly(); }
00066         QDate date() const            { return mDateTime.date(); }
00069         QDateTime rawDateTime() const { return mDateTime.dateTime(); }
00071         KDateTime kDateTime() const   { return mDateTime; }
00075         QTime effectiveTime() const;
00080         QDateTime effectiveDateTime() const;
00085         KDateTime effectiveKDateTime() const;
00087         KTimeZone timeZone() const      { return mDateTime.timeZone(); }
00089         KDateTime::Spec timeSpec() const       { return mDateTime.timeSpec(); }
00092         KDateTime::SpecType timeType() const   { return mDateTime.timeType(); }
00094         bool isLocalZone() const               { return mDateTime.isLocalZone(); }
00096         bool isClockTime() const               { return mDateTime.isClockTime(); }
00098         bool isUtc() const                     { return mDateTime.isUtc(); }
00100         bool isOffsetFromUtc() const           { return mDateTime.isOffsetFromUtc(); }
00102         int utcOffset() const                  { return mDateTime.utcOffset(); }
00104         bool isSecondOccurrence() const        { return mDateTime.isSecondOccurrence(); }
00106         DateTime toUtc() const                 { return DateTime(mDateTime.toUtc()); }
00109         DateTime toOffsetFromUtc() const       { return DateTime(mDateTime.toOffsetFromUtc()); }
00111         DateTime toOffsetFromUtc(int utcOffset) const  { return DateTime(mDateTime.toOffsetFromUtc(utcOffset)); }
00113         DateTime toLocalZone() const           { return DateTime(mDateTime.toLocalZone()); }
00115         DateTime toClockTime() const           { return DateTime(mDateTime.toClockTime()); }
00117         DateTime toZone(const KTimeZone& zone) const  { return DateTime(mDateTime.toZone(zone)); }
00119         DateTime toTimeSpec(const KDateTime::Spec &spec) const  { return DateTime(mDateTime.toTimeSpec(spec)); }
00122         uint toTime_t() const                  { return mDateTime.toTime_t(); }
00126         void setDateOnly(bool d)               { mDateTime.setDateOnly(d); }
00128         void setDate(const QDate& d)           { mDateTime.setDate(d); }
00131         void setTime(const QTime& t)           { mDateTime.setTime(t); }
00133         void setDateTime(const QDateTime& dt)  { mDateTime.setDateTime(dt); }
00135         void setTimeSpec(const KDateTime::Spec &spec)  { mDateTime.setTimeSpec(spec); }
00137         void setSecondOccurrence(bool second)  { mDateTime.setSecondOccurrence(second); }
00142         void setTime_t(uint secs)              { mDateTime.setTime_t(secs); }
00144         DateTime addSecs(qint64 n) const       { return DateTime(mDateTime.addSecs(n)); }
00146         DateTime addMins(qint64 n) const       { return DateTime(mDateTime.addSecs(n * 60)); }
00148         DateTime addDays(int n) const          { return DateTime(mDateTime.addDays(n)); }
00150         DateTime addMonths(int n) const        { return DateTime(mDateTime.addMonths(n)); }
00152         DateTime addYears(int n) const         { return DateTime(mDateTime.addYears(n)); }
00154         int daysTo(const DateTime& dt) const   { return mDateTime.daysTo(dt.mDateTime); }
00156         int minsTo(const DateTime& dt) const   { return mDateTime.secsTo(dt.mDateTime) / 60; }
00158         int secsTo(const DateTime& dt) const   { return mDateTime.secsTo(dt.mDateTime); }
00159         qint64 secsTo_long(const DateTime& dt) const   { return mDateTime.secsTo_long(dt.mDateTime); }
00164         QString toString(Qt::DateFormat f = Qt::TextDate) const
00165                 {
00166                     if (mDateTime.isDateOnly())
00167                         return mDateTime.date().toString(f);
00168                     else
00169                         return mDateTime.dateTime().toString(f);
00170                 }
00175         QString toString(const QString& format) const
00176                 {
00177                     if (mDateTime.isDateOnly())
00178                         return mDateTime.date().toString(format);
00179                     else
00180                         return mDateTime.dateTime().toString(format);
00181                 }
00186         QString formatLocale(bool shortFormat = true) const;
00190         static void setStartOfDay(const QTime& sod)  { mStartOfDay = sod; }
00192         KDateTime::Comparison compare(const DateTime &other) const  { return mDateTime.compare(other.mDateTime); }
00194         static QTime startOfDay()   { return mStartOfDay; }
00195 
00196         friend bool operator==(const DateTime& dt1, const DateTime& dt2);
00197         friend bool operator==(const KDateTime& dt1, const DateTime& dt2);
00198         friend bool operator<(const DateTime& dt1, const DateTime& dt2);
00199         friend bool operator<(const KDateTime& dt1, const DateTime& dt2);
00200 
00201     private:
00202         static QTime mStartOfDay;
00203         KDateTime    mDateTime;
00204 };
00205 
00207 inline bool operator==(const DateTime& dt1, const DateTime& dt2)   { return dt1.mDateTime == dt2.mDateTime; }
00208 inline bool operator==(const KDateTime& dt1, const DateTime& dt2)  { return dt1 == dt2.mDateTime; }
00213 inline bool operator<(const DateTime& dt1, const DateTime& dt2)    { return dt1.mDateTime < dt2.mDateTime; }
00214 inline bool operator<(const KDateTime& dt1, const DateTime& dt2)   { return dt1 < dt2.mDateTime; }
00216 inline bool operator!=(const DateTime& dt1, const DateTime& dt2)   { return !operator==(dt1, dt2); }
00217 inline bool operator!=(const KDateTime& dt1, const DateTime& dt2)  { return !operator==(dt1, dt2); }
00222 inline bool operator>(const DateTime& dt1, const DateTime& dt2)    { return operator<(dt2, dt1); }
00223 inline bool operator>(const KDateTime& dt1, const DateTime& dt2)   { return operator<(dt2, dt1); }
00228 inline bool operator>=(const DateTime& dt1, const DateTime& dt2)   { return !operator<(dt1, dt2); }
00229 inline bool operator>=(const KDateTime& dt1, const DateTime& dt2)  { return !operator<(dt1, dt2); }
00234 inline bool operator<=(const DateTime& dt1, const DateTime& dt2)   { return !operator<(dt2, dt1); }
00235 inline bool operator<=(const KDateTime& dt1, const DateTime& dt2)  { return !operator<(dt2, dt1); }
00236 
00237 #endif // DATETIME_H

kalarm/lib

Skip menu "kalarm/lib"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

kdepim

Skip menu "kdepim"
  • akonadi
  •   clients
  •   kabc
  •   kcal
  •   kcm
  • akregator
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt
  • kdgantt1
  • kjots
  • kleopatra
  • kmail
  • kmobiletools
  • knode
  • knotes
  • kontact
  • kontactinterfaces
  • korganizer
  •   korgac
  • kpilot
  • ktimetracker
  •   doc
  • libkdepim
  • libkholidays
  • libkleo
  • libkpgp
  • maildir
Generated for kdepim by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal