]> git.saurik.com Git - wxWidgets.git/blob - include/wx/time.h
d6ff8ba04ecbeeb61fcc991b9f492c0ca6823c66
[wxWidgets.git] / include / wx / time.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/time.h
3 // Purpose: Miscellaneous time-related functions.
4 // Author: Vadim Zeitlin
5 // Created: 2011-11-26
6 // RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $
7 // Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_TIME_H_
12 #define _WX_TIME_H_
13
14 #include "wx/longlong.h"
15
16 // Returns the difference between UTC and local time in seconds.
17 WXDLLIMPEXP_BASE int wxGetTimeZone();
18
19 // Get number of seconds since local time 00:00:00 Jan 1st 1970.
20 extern long WXDLLIMPEXP_BASE wxGetLocalTime();
21
22 // Get number of seconds since GMT 00:00:00, Jan 1st 1970.
23 extern long WXDLLIMPEXP_BASE wxGetUTCTime();
24
25 #if wxUSE_LONGLONG
26 typedef wxLongLong wxMilliClock_t;
27 inline long wxMilliClockToLong(wxLongLong ll) { return ll.ToLong(); }
28 #else
29 typedef double wxMilliClock_t;
30 inline long wxMilliClockToLong(double d) { return wx_truncate_cast(long, d); }
31 #endif // wxUSE_LONGLONG
32
33 // Get number of milliseconds since local time 00:00:00 Jan 1st 1970
34 extern wxMilliClock_t WXDLLIMPEXP_BASE wxGetLocalTimeMillis();
35
36 #if wxUSE_LONGLONG
37
38 // Get the number of milliseconds or microseconds since the Epoch.
39 wxLongLong WXDLLIMPEXP_BASE wxGetUTCTimeMillis();
40 wxLongLong WXDLLIMPEXP_BASE wxGetUTCTimeUSec();
41
42 #endif // wxUSE_LONGLONG
43
44 #define wxGetCurrentTime() wxGetLocalTime()
45
46 // on some really old systems gettimeofday() doesn't have the second argument,
47 // define wxGetTimeOfDay() to hide this difference
48 #ifdef HAVE_GETTIMEOFDAY
49 #ifdef WX_GETTIMEOFDAY_NO_TZ
50 #define wxGetTimeOfDay(tv) gettimeofday(tv)
51 #else
52 #define wxGetTimeOfDay(tv) gettimeofday((tv), NULL)
53 #endif
54 #endif // HAVE_GETTIMEOFDAY
55
56 #endif // _WX_TIME_H_