void Add(const int seconds=0, const int minutes=0, const int hours=0, const int days=0, const int months=0, const int years=0);\r
\r
void Set(const int year=1970, const int month=1, const int day=1, const int hour=0, const int minute=0, const int second=0);\r
- void Set(const time_t &timet);\r
+ void SetT(const time_t &timet);\r
void Set(const struct tm *stm);\r
void Set(const std::string &datestring); // method only will work with a select few basic input formats\r
\r
DateTime &operator-=(const double &rhs);\r
DateTime &operator-=(const DateTime &rhs);\r
\r
- const bool operator==(const DateTime &rhs) const { return m_timet==rhs.m_timet; }\r
+ const bool operator==(const DateTime &rhs) const { return *this==rhs.m_tm; }\r
const bool operator==(const time_t &rhs) const { return m_timet==rhs; }\r
const bool operator==(const struct tm &rhs) const;\r
\r
- const bool operator<(const DateTime &rhs) const { return (m_timet<rhs.m_timet); }\r
+ const bool operator<(const DateTime &rhs) const { return (*this<rhs.m_tm); }\r
const bool operator<(const time_t &rhs) const { return (m_timet<rhs); }\r
+ const bool operator<(const struct tm &rhs) const;\r
\r
- const bool operator<=(const DateTime &rhs) const { return (*this<rhs || *this==rhs); }\r
+ const bool operator<=(const DateTime &rhs) const { return (*this<rhs.m_tm || *this==rhs.m_tm); }\r
const bool operator<=(const time_t &rhs) const { return (m_timet<=rhs); }\r
+ const bool operator<=(const struct tm &rhs) const { return (*this<rhs || *this==rhs); }\r
\r
- const bool operator>(const DateTime &rhs) const { return (m_timet>rhs.m_timet); }\r
+ const bool operator>(const DateTime &rhs) const { return !(*this<=rhs.m_tm); }\r
const bool operator>(const time_t &rhs) const { return (m_timet>rhs); }\r
\r
- const bool operator>=(const DateTime &rhs) const { return (*this>rhs || *this==rhs); }\r
+ const bool operator>=(const DateTime &rhs) const { return !(*this<rhs.m_tm); }\r
const bool operator>=(const time_t &rhs) const { return (m_timet>=rhs); }\r
\r
private:\r
+ const time_t TimeGM(struct tm *gmtimein);\r
\r
- time_t m_timet;\r
+ time_t m_timet; // don't use timet for any comparisons\r
struct tm m_tm;\r
};\r
\r