F:/KPlato/koffice/kplato/kptdatetime.cc

Aller à la documentation de ce fichier.
00001 /* This file is part of the KDE project
00002    Copyright (C) 2003 Dag Andersen <danders@get2net.dk>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #include "kptdatetime.h"
00021 
00022 #include <kdebug.h>
00023 
00024 namespace KPlato
00025 {
00026 
00027 DateTime::DateTime() : QDateTime() {
00028 }
00029 
00030 DateTime::DateTime(const QDateTime &dt) : QDateTime(dt.date(), dt.time()) {
00031 }
00032 
00033 DateTime::DateTime(const QDate &date) : QDateTime(date) {
00034 }
00035 
00036 DateTime::DateTime(const QDate &date, const QTime &time) : QDateTime(date, time) {
00037 }
00038 
00039 void DateTime::add(const Duration &duration) {
00040     if (isValid())
00041         *this = addSecs(duration.seconds());
00042     //kDebug()<<k_funcinfo<<"days,secs: "<<days<<","<<secs<<" gives: "<<toString()<<endl;
00043 }
00044 
00045 void DateTime::subtract(const Duration &duration) {
00046     if (isValid())
00047         *this = addSecs(-duration.seconds());
00048     //kDebug()<<k_funcinfo<<"days,secs: "<<days<<","<<secs<<" gives: "<<toString()<<endl;
00049 }
00050 
00051 Duration DateTime::duration(const DateTime &dt) const {
00052     Duration dur;
00053     if (isValid() && dt.isValid()) {
00054         if (dt < *this) {
00055             dur.addDays(dt.daysTo(*this));
00056             dur.addSeconds(dt.time().secsTo(time()));
00057         } else {
00058             dur.addDays(daysTo(dt));
00059             dur.addSeconds(time().secsTo(dt.time()));
00060         }
00061     }
00062     return dur;
00063 }
00064 
00065 DateTime DateTime::operator+(const Duration &duration) const {
00066     DateTime d(*this);
00067     d.add(duration);
00068     return d;
00069 }
00070 
00071 DateTime& DateTime::operator+=(const Duration &duration) {
00072     add(duration);
00073     return *this;
00074 }
00075 
00076 DateTime DateTime::operator-(const Duration &duration) const {
00077     DateTime d(*this);
00078     d.subtract(duration);
00079     return d;
00080 }
00081 
00082 DateTime& DateTime::operator-=(const Duration &duration) {
00083     subtract(duration);
00084     return *this;
00085 }
00086 
00087 }  //KPlato namespace

Généré le Wed Nov 22 23:40:56 2006 pour KPlato par  doxygen 1.5.1-p1