X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..e5ee4c908b9dbcf07f0441aa74d8635b7343be4d:/include/wx/datetime.inl diff --git a/include/wx/datetime.inl b/include/wx/datetime.inl index 302d65c195..8ec379dd9d 100644 --- a/include/wx/datetime.inl +++ b/include/wx/datetime.inl @@ -54,19 +54,19 @@ inline wxDateTime wxDateTime::Now() /* static */ inline wxDateTime wxDateTime::Today() { - struct tm *tm = GetTmNow(); - tm->tm_hour = - tm->tm_min = - tm->tm_sec = 0; + struct tm *time = GetTmNow(); + time->tm_hour = 0; + time->tm_min = 0; + time->tm_sec = 0; - return wxDateTime(*tm); + return wxDateTime(*time); } #if (!(defined(__VISAGECPP__) && __IBMCPP__ >= 400)) inline wxDateTime& wxDateTime::Set(time_t timet) { // assign first to avoid long multiplication overflow! - m_time = timet; + m_time = timet - WX_TIME_BASE_OFFSET ; m_time *= TIME_T_FACTOR; return *this; @@ -146,7 +146,7 @@ inline time_t wxDateTime::GetTicks() const return (time_t)-1; } - return (time_t)((m_time / (long)TIME_T_FACTOR).GetLo()); + return (time_t)((m_time / (long)TIME_T_FACTOR).GetLo())+WX_TIME_BASE_OFFSET ; } inline bool wxDateTime::SetToLastWeekDay(WeekDay weekday, @@ -249,7 +249,12 @@ inline bool wxDateTime::IsBetween(const wxDateTime& t1, inline bool wxDateTime::IsSameDate(const wxDateTime& dt) const { - return (m_time - dt.m_time).Abs() < MILLISECONDS_PER_DAY; + Tm tm1 = GetTm(), + tm2 = dt.GetTm(); + + return tm1.year == tm2.year && + tm1.mon == tm2.mon && + tm1.mday == tm2.mday; } inline bool wxDateTime::IsSameTime(const wxDateTime& dt) const