#ifndef QDATETIME_H
#define QDATETIME_H 
#include <QtCore/qstring.h>
#include <QtCore/qnamespace.h>
typedef enum QtValidLicenseForCoreModule QtCoreModule;
class QDate{
   public: inline QDate();
   public: QDate(int y, int m, int d);
   public: inline bool isNull() const
   public: bool isValid() const
   public: int year() const
   public: int month() const
   public: int day() const
   public: int dayOfWeek() const
   public: int dayOfYear() const
   public: int daysInMonth() const
   public: int daysInYear() const
   public: int weekNumber(int* yearNum = 0) const
#ifndef QT_NO_TEXTDATE
   public: static class QString shortMonthName(int month);
   public: static class QString shortDayName(int weekday);
   public: static class QString longMonthName(int month);
   public: static class QString longDayName(int weekday);
#endif // QT_NO_TEXTDATE
#ifndef QT_NO_DATESTRING
   public: class QString toString(enum Qt::DateFormat f = Qt::TextDate) const
   public: class QString toString(class QString const & format) const
#endif
   public: bool setYMD(int y, int m, int d);
   public: bool setDate(int year, int month, int date);
   public: class QDate addDays(int days) const
   public: class QDate addMonths(int months) const
   public: class QDate addYears(int years) const
   public: int daysTo(class QDate const &) const
   public: inline bool operator ==(class QDate const & other) const
   public: inline bool operator !=(class QDate const & other) const
   public: inline bool operator <(class QDate const & other) const
   public: inline bool operator <=(class QDate const & other) const
   public: inline bool operator >(class QDate const & other) const
   public: inline bool operator >=(class QDate const & other) const
   public: static class QDate currentDate();
#ifndef QT_NO_DATESTRING
   public: static class QDate fromString(class QString const & s, enum Qt::DateFormat f = Qt::TextDate);
   public: static class QDate fromString(class QString const & s, class QString const & format);
#endif
   public: static bool isValid(int y, int m, int d);
   public: static bool isLeapYear(int year);
   public: static uint gregorianToJulian(int y, int m, int d);
   public: static void julianToGregorian(uint jd, int& y, int& m, int& d);
   public: static inline class QDate fromJulianDay(int jd);
   public: inline int toJulianDay() const
   private: uint jd;
   friend class QDateTime;
   friend struct QDateTimePrivate;
   friend struct QDataStream& operator <<(struct QDataStream&, class QDate const &);
   friend struct QDataStream& operator >>(struct QDataStream&, class QDate&);
};
struct QDateTimePrivate;
template < > class QTypeInfo < class QDate >{
   public: static inline char const * name();
   public: enum /*anonymous*/{
      isComplex = 1,
      isStatic = 0,
      isLarge = 0,
      isPointer = 0,
      isDummy = 0,
   };
};
class QTime{
   public: inline QTime();
   public: QTime(int h, int m, int s = 0, int ms = 0);
   public: inline bool isNull() const
   public: bool isValid() const
   public: int hour() const
   public: int minute() const
   public: int second() const
   public: int msec() const
#ifndef QT_NO_DATESTRING
   public: class QString toString(enum Qt::DateFormat f = Qt::TextDate) const
   public: class QString toString(class QString const & format) const
#endif
   public: bool setHMS(int h, int m, int s, int ms = 0);
   public: class QTime addSecs(int secs) const
   public: int secsTo(class QTime const &) const
   public: class QTime addMSecs(int ms) const
   public: int msecsTo(class QTime const &) const
   public: inline bool operator ==(class QTime const & other) const
   public: inline bool operator !=(class QTime const & other) const
   public: inline bool operator <(class QTime const & other) const
   public: inline bool operator <=(class QTime const & other) const
   public: inline bool operator >(class QTime const & other) const
   public: inline bool operator >=(class QTime const & other) const
   public: static class QTime currentTime();
#ifndef QT_NO_DATESTRING
   public: static class QTime fromString(class QString const & s, enum Qt::DateFormat f = Qt::TextDate);
#endif
   public: static class QTime fromString(class QString const & s, class QString const & format);
   public: static bool isValid(int h, int m, int s, int ms = 0);
   public: void start();
   public: int restart();
   public: int elapsed() const
   private: enum TimeFlag{
      NullTime = -1,
   };
   private: inline int ds() const
   private: int mds;
   friend class QDateTime;
   friend struct QDateTimePrivate;
   friend struct QDataStream& operator <<(struct QDataStream&, class QTime const &);
   friend struct QDataStream& operator >>(struct QDataStream&, class QTime&);
};
template < > class QTypeInfo < class QTime >{
   public: static inline char const * name();
   public: enum /*anonymous*/{
      isComplex = 1,
      isStatic = 0,
      isLarge = 0,
      isPointer = 0,
      isDummy = 0,
   };
};
class QDateTime{
   public: QDateTime();
   public: explicit QDateTime(class QDate const &);
   public: QDateTime(class QDate const &, class QTime const &, enum Qt::TimeSpec spec = Qt::LocalTime);
   public: QDateTime(class QDateTime const & other);
   public: ~QDateTime();
   public: class QDateTime& operator =(class QDateTime const & other);
   public: bool isNull() const
   public: bool isValid() const
   public: class QDate date() const
   public: class QTime time() const
   public: enum Qt::TimeSpec timeSpec() const
   public: uint toTime_t() const
   public: void setDate(class QDate const & date);
   public: void setTime(class QTime const & time);
   public: void setTimeSpec(enum Qt::TimeSpec spec);
   public: void setTime_t(uint secsSince1Jan1970UTC);
#ifndef QT_NO_DATESTRING
   public: class QString toString(enum Qt::DateFormat f = Qt::TextDate) const
   public: class QString toString(class QString const & format) const
#endif
   public: class QDateTime addDays(int days) const
   public: class QDateTime addMonths(int months) const
   public: class QDateTime addYears(int years) const
   public: class QDateTime addSecs(int secs) const
   public: class QDateTime addMSecs(qint64 msecs) const
   public: class QDateTime toTimeSpec(enum Qt::TimeSpec spec) const
   public: inline class QDateTime toLocalTime() const
   public: inline class QDateTime toUTC() const
   public: int daysTo(class QDateTime const &) const
   public: int secsTo(class QDateTime const &) const
   public: bool operator ==(class QDateTime const & other) const
   public: inline bool operator !=(class QDateTime const & other) const
   public: bool operator <(class QDateTime const & other) const
   public: inline bool operator <=(class QDateTime const & other) const
   public: inline bool operator >(class QDateTime const & other) const
   public: inline bool operator >=(class QDateTime const & other) const
   public: static class QDateTime currentDateTime();
#ifndef QT_NO_DATESTRING
   public: static class QDateTime fromString(class QString const & s, enum Qt::DateFormat f = Qt::TextDate);
#endif
   public: static class QDateTime fromString(class QString const & s, class QString const & format);
   public: static class QDateTime fromTime_t(uint secsSince1Jan1970UTC);
   private: void detach();
   private: struct QDateTimePrivate* d;
   friend struct QDateTimePrivate;
   friend struct QDataStream& operator <<(struct QDataStream&, class QDateTime const &);
   friend struct QDataStream& operator >>(struct QDataStream&, class QDateTime&);
};
template < > class QTypeInfo < class QDateTime >{
   public: static inline char const * name();
   public: enum /*anonymous*/{
      isComplex = 1,
      isStatic = 0,
      isLarge = 0,
      isPointer = 0,
      isDummy = 0,
   };
};
#ifndef QT_NO_DATASTREAM
struct QDataStream& operator <<(struct QDataStream&, class QDate const &);
struct QDataStream& operator >>(struct QDataStream&, class QDate&);
struct QDataStream& operator <<(struct QDataStream&, class QTime const &);
struct QDataStream& operator >>(struct QDataStream&, class QTime&);
struct QDataStream& operator <<(struct QDataStream&, class QDateTime const &);
struct QDataStream& operator >>(struct QDataStream&, class QDateTime&);
#endif
#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DATESTRING)
struct QDebug operator <<(struct QDebug, class QDate const &);
struct QDebug operator <<(struct QDebug, class QTime const &);
struct QDebug operator <<(struct QDebug, class QDateTime const &);
#endif
#endif // QDATETIME_H