X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb7ce3e8cc980192d8ef0f7775a55206eb4c514a..2f36b4d22beeb7f4f0cedf922c0c26d037f54477:/src/common/time.cpp diff --git a/src/common/time.cpp b/src/common/time.cpp index 03df19ec62..011b601490 100644 --- a/src/common/time.cpp +++ b/src/common/time.cpp @@ -3,7 +3,6 @@ // Purpose: Implementation of time-related functions. // Author: Vadim Zeitlin // Created: 2011-11-26 -// RCS-ID: $Id: wxhead.cpp,v 1.11 2010-04-22 12:44:51 zeitlin Exp $ // Copyright: (c) 2011 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -26,7 +25,7 @@ #include "wx/time.h" #ifndef WX_PRECOMP - #ifdef __WXMSW__ + #ifdef __WINDOWS__ #include "wx/msw/wrapwin.h" #endif #include "wx/intl.h" @@ -36,7 +35,7 @@ #ifndef WX_GMTOFF_IN_TM // Define it for some systems which don't (always) use configure but are // known to have tm_gmtoff field. - #if defined(__WXPALMOS__) || defined(__DARWIN__) + #if defined(__DARWIN__) #define WX_GMTOFF_IN_TM #endif #endif @@ -48,19 +47,12 @@ # endif #endif -#if defined(__MWERKS__) && defined(__WXMSW__) -# undef HAVE_FTIME -# undef HAVE_GETTIMEOFDAY -#endif - -#ifndef __WXPALMOS5__ #ifndef __WXWINCE__ #include #else #include "wx/msw/private.h" #include "wx/msw/wince/time.h" #endif -#endif // __WXPALMOS5__ #if !defined(__WXMAC__) && !defined(__WXWINCE__) @@ -74,16 +66,6 @@ #include #endif -#ifdef __WXPALMOS__ - #include - #include - #include -#endif - -#if defined(__MWERKS__) && wxUSE_UNICODE - #include -#endif - #if defined(__DJGPP__) || defined(__WINE__) #include #include @@ -223,15 +205,18 @@ int wxGetTimeZone() #else // VC++ < 8 return timezone; #endif -#elif defined(WX_TIMEZONE) // If WX_TIMEZONE was defined by configure, use it. - return WX_TIMEZONE; -#elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__) - return _timezone; -#elif defined(__MWERKS__) - return 28800; -#else // unknown platform -- assume it has timezone - return timezone; -#endif // WX_GMTOFF_IN_TM/!WX_GMTOFF_IN_TM +#else // Use some kind of time zone variable. + // In any case we must initialize the time zone before using it. + tzset(); + + #if defined(WX_TIMEZONE) // If WX_TIMEZONE was defined by configure, use it. + return WX_TIMEZONE; + #elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__) + return _timezone; + #else // unknown platform -- assume it has timezone + return timezone; + #endif // different time zone variables +#endif // different ways to determine time zone } // Get local time as seconds since 00:00:00, Jan 1st 1970 @@ -275,7 +260,7 @@ long wxGetUTCTime() wxLongLong wxGetUTCTimeUSec() { -#if defined(__WXMSW__) +#if defined(__WINDOWS__) FILETIME ft; ::GetSystemTimeAsFileTime(&ft); @@ -306,23 +291,9 @@ wxLongLong wxGetUTCTimeUSec() // Get local time as milliseconds since 00:00:00, Jan 1st 1970 wxLongLong wxGetUTCTimeMillis() { - wxLongLong val = MILLISECONDS_PER_SECOND; - // If possible, use a function which avoids conversions from // broken-up time structures to milliseconds -#if defined(__WXPALMOS__) - DateTimeType thenst; - thenst.second = 0; - thenst.minute = 0; - thenst.hour = 0; - thenst.day = 1; - thenst.month = 1; - thenst.year = 1970; - thenst.weekDay = 5; - uint32_t now = TimGetSeconds(); - uint32_t then = TimDateTimeToSeconds (&thenst); - return SysTimeToMilliSecs(SysTimeInSecs(now - then)); -#elif defined(__WXMSW__) +#if defined(__WINDOWS__) FILETIME ft; ::GetSystemTimeAsFileTime(&ft); @@ -332,7 +303,10 @@ wxLongLong wxGetUTCTimeMillis() t /= 10000; t -= wxLL(11644473600000); // Unix - Windows epochs difference in ms. return t; -#elif defined(HAVE_GETTIMEOFDAY) +#else // !__WINDOWS__ + wxLongLong val = MILLISECONDS_PER_SECOND; + +#if defined(HAVE_GETTIMEOFDAY) struct timeval tp; if ( wxGetTimeOfDay(&tp) != -1 ) { @@ -368,6 +342,8 @@ wxLongLong wxGetUTCTimeMillis() val *= wxGetUTCTime(); return val; #endif // time functions + +#endif // __WINDOWS__/!__WINDOWS__ } wxLongLong wxGetLocalTimeMillis()