X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a333edbddfc6cbee65bd541ddb8515844964aae4..ba5787676d002f76b4c3944cb598b626f10f058d:/include/wx/datetime.h diff --git a/include/wx/datetime.h b/include/wx/datetime.h index 15f344cbf8..7f0aed8532 100644 --- a/include/wx/datetime.h +++ b/include/wx/datetime.h @@ -56,7 +56,7 @@ class WXDLLIMPEXP_BASE wxDateSpan; #ifdef HAVE_LOCALTIME_R #define wxLocaltime_r localtime_r #else -struct tm *wxLocaltime_r(const time_t*, struct tm*); +WXDLLIMPEXP_BASE struct tm *wxLocaltime_r(const time_t*, struct tm*); #if wxUSE_THREADS && !defined(__WINDOWS__) && !defined(__WATCOMC__) // On Windows, localtime _is_ threadsafe! #warning using pseudo thread-safe wrapper for localtime to emulate localtime_r @@ -66,7 +66,7 @@ struct tm *wxLocaltime_r(const time_t*, struct tm*); #ifdef HAVE_GMTIME_R #define wxGmtime_r gmtime_r #else -struct tm *wxGmtime_r(const time_t*, struct tm*); +WXDLLIMPEXP_BASE struct tm *wxGmtime_r(const time_t*, struct tm*); #if wxUSE_THREADS && !defined(__WINDOWS__) && !defined(__WATCOMC__) // On Windows, gmtime _is_ threadsafe! #warning using pseudo thread-safe wrapper for gmtime to emulate gmtime_r @@ -168,7 +168,7 @@ public: GMT_6, GMT_5, GMT_4, GMT_3, GMT_2, GMT_1, GMT0, GMT1, GMT2, GMT3, GMT4, GMT5, GMT6, - GMT7, GMT8, GMT9, GMT10, GMT11, GMT12, + GMT7, GMT8, GMT9, GMT10, GMT11, GMT12, GMT13, // Note that GMT12 and GMT_12 are not the same: there is a difference // of exactly one day between them @@ -202,10 +202,14 @@ public: // Australia A_WST = GMT8, // Western Standard Time - A_CST = GMT12 + 1, // Central Standard Time (+9.5) + A_CST = GMT13 + 1, // Central Standard Time (+9.5) A_EST = GMT10, // Eastern Standard Time A_ESST = GMT11, // Eastern Summer Time + // New Zealand + NZST = GMT12, // Standard Time + NZDT = GMT13, // Daylight Saving Time + // TODO add more symbolic timezone names here // Universal Coordinated Time = the new and politically correct name @@ -560,7 +564,7 @@ public: // ------------------------------------------------------------------------ // default ctor does not initialize the object, use Set()! - wxDateTime() { m_time = wxLongLong((long)ULONG_MAX, ULONG_MAX); } + wxDateTime() { m_time = wxLongLong(LONG_MIN, 0); } // from time_t: seconds since the Epoch 00:00:00 UTC, Jan 1, 1970) #if (!(defined(__VISAGECPP__) && __IBMCPP__ >= 400)) @@ -635,6 +639,10 @@ public: // resets time to 00:00:00, doesn't change the date wxDateTime& ResetTime(); + // get the date part of this object only, i.e. the object which has the + // same date as this one but time of 00:00:00 + wxDateTime GetDateOnly() const; + // the following functions don't change the values of the other // fields, i.e. SetMinute() won't change either hour or seconds value @@ -1924,7 +1932,9 @@ inline wxLongLong wxTimeSpan::GetSeconds() const inline int wxTimeSpan::GetMinutes() const { - return (GetSeconds() / 60l).GetLo(); + // explicit cast to int suppresses a warning with CodeWarrior and possibly + // others (changing the return type to long from int is impossible in 2.8) + return (int)((GetSeconds() / 60l).GetLo()); } inline int wxTimeSpan::GetHours() const