X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5b781a6729859abc77e6ca5b1f81cbaad974a78f..e64df9bcc331d49d05a6dc7729ee08071e4c6408:/include/wx/datetime.inl diff --git a/include/wx/datetime.inl b/include/wx/datetime.inl index 3089b32111..7b9360ffb0 100644 --- a/include/wx/datetime.inl +++ b/include/wx/datetime.inl @@ -36,7 +36,9 @@ // ---------------------------------------------------------------------------- // only define this once, when included from datetime.cpp -#ifdef wxDEFINE_TIME_CONSTANTS +// TODO: figure out why switching accessibility on causes link errors +// if don't use this test. +#if defined(wxDEFINE_TIME_CONSTANTS) || (defined(_MSC_VER) && wxUSE_ACCESSIBILITY) const long wxDateTime::TIME_T_FACTOR = 1000l; #endif // wxDEFINE_TIME_CONSTANTS @@ -54,12 +56,12 @@ 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)) @@ -149,14 +151,15 @@ inline time_t wxDateTime::GetTicks() const return (time_t)((m_time / (long)TIME_T_FACTOR).GetLo())+WX_TIME_BASE_OFFSET ; } -bool wxDateTime::SetToLastWeekDay(WeekDay weekday, +inline bool wxDateTime::SetToLastWeekDay(WeekDay weekday, Month month, int year) { return SetToWeekDay(weekday, -1, month, year); } -inline wxDateTime wxDateTime::GetWeekDayInSameWeek(WeekDay weekday) const +inline wxDateTime wxDateTime::GetWeekDayInSameWeek(WeekDay weekday, + WeekFlags flags) const { MODIFY_AND_RETURN( SetToWeekDayInSameWeek(weekday) ); } @@ -191,11 +194,12 @@ inline wxDateTime wxDateTime::GetLastWeekDay(WeekDay weekday, } inline wxDateTime wxDateTime::GetWeek(wxDateTime_t numWeek, - WeekDay weekday) const + WeekDay weekday, + WeekFlags flags) const { wxDateTime dt(*this); - return dt.SetToTheWeek(numWeek, weekday) ? dt : wxInvalidDateTime; + return dt.SetToTheWeek(numWeek, weekday, flags) ? dt : wxInvalidDateTime; } inline wxDateTime wxDateTime::GetLastMonthDay(Month month, int year) const @@ -249,7 +253,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