- return TRUE;
- }
- }
-#elif defined(HAVE_GETTIMEOFDAY) && !defined(WX_GETTIMEOFDAY_NO_TZ)
- struct timeval tp;
- struct timezone tz;
- if ( gettimeofday(&tp, &tz) != -1 )
- {
- *timeZone = 60*tz.tz_minuteswest;
- *dstObserved = tz.tz_dsttime;
-
- return TRUE;
- }
-#elif defined(HAVE_FTIME)
- struct timeb tb;
- if ( ftime(&tb) == 0 )
- {
- *timeZone = 60*tb.timezone;
- *dstObserved = tb.dstflag;
- }
-#else // no standard function return tz info
- // special hacks for known compilers
- #if defined(__BORLANDC__) || defined(__VISUALC__)
- *timeZone = _timezone;
- *dstObserved = _daylight;
- #elif defined(__SALFORDC__)
- *timeZone = _timezone;
- *dstObserved = daylight;
- #elif defined(__VISAGECPP__)
- *timeZone = _timezone;
- *dstObserved = daylight;
- #elif defined(__WIN32__)
- TIME_ZONE_INFORMATION tzInfo;
- switch ( GetTimeZoneInformation(&tzInfo) )
- {
- default:
- wxFAIL_MSG(_T("unknown GetTimeZoneInformation return code"));
- // fall through
-
- case TIME_ZONE_ID_UNKNOWN:
- case TIME_ZONE_ID_STANDARD:
- *dstObserved = FALSE;
- break;
-
- case TIME_ZONE_ID_DAYLIGHT:
- *dstObserved = TRUE;
- break;
- }
-
- *timeZone = 60*tzInfo.Bias;
- #else
- wxFAIL_MSG(_T("wxGetLocalTime() not implemented"));
- #endif // compiler
-#endif // all ways in the known Universe to get tz info
-
- return FALSE;
-}