version 0.2.6
[fms.git] / include / datetime.h
index c1f549f..cd6df2c 100644 (file)
@@ -67,25 +67,28 @@ public:
        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