Prev Next
C time.h library functions:
All C inbuilt functions which are declared in time.h header file are given below. The source code for time.h header file is also given below for your reference.
List of inbuilt C functions in time.h file:
Below are the list of time related fuctions in C programming language. Please refer C – time related functions page for sample program and output for each below functions.
Functions | Description |
setdate() | This function used to modify the system date |
getdate() | This function is used to get the CPU time |
clock() | This function is used to get current system time |
time() | This function is used to get current system time as structure |
difftime() | This function is used to get the difference between two given times |
strftime() | This function is used to modify the actual time format |
mktime() | This function interprets tm structure as calendar time |
localtime() | This function shares the tm structure that contains date and time informations |
gmtime() | This function shares the tm structure that contains date and time informations |
ctime() | This function is used to return string that contains date and time informations |
asctime() | Tm structure contents are interpreted by this function as calendar time. This time is converted into string. |
Source code for time.h header file:
Please find the source code for time.h header file below. This code is taken from DevC++ compiler files for your reference.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
/* * time.h * This file has no copyright assigned and is placed in the Public Domain. * This file is a part of the mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within the package. * * Date and time functions and types. * */ #ifndef _TIME_H_ #define _TIME_H_ /* All the headers include this file. */ #include <_mingw.h> #define __need_wchar_t #define __need_size_t #define __need_NULL #ifndef RC_INVOKED #include <stddef.h> #endif /* Not RC_INVOKED */ /* * Number of clock ticks per second. A clock tick is the unit by which * processor time is measured and is returned by 'clock'. */ #define CLOCKS_PER_SEC ((clock_t)1000) #define CLK_TCK CLOCKS_PER_SEC #ifndef RC_INVOKED /* * A type for storing the current time and date. This is the number of * seconds since midnight Jan 1, 1970. * NOTE: This is also defined in non-ISO sys/types.h. */ #ifndef _TIME_T_DEFINED typedef long time_t; #define _TIME_T_DEFINED #endif #ifndef __STRICT_ANSI__ /* A 64-bit time_t to get to Y3K */ #ifndef _TIME64_T_DEFINED typedef __int64 __time64_t; #define _TIME64_T_DEFINED #endif #endif /* * A type for measuring processor time (in clock ticks). */ #ifndef _CLOCK_T_DEFINED typedef long clock_t; #define _CLOCK_T_DEFINED #endif #ifndef _TM_DEFINED /* * A structure for storing all kinds of useful information about the * current (or another) time. */ struct tm { int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */ int tm_min; /* Minutes: 0-59 */ int tm_hour; /* Hours since midnight: 0-23 */ int tm_mday; /* Day of the month: 1-31 */ int tm_mon; /* Months *since* january: 0-11 */ int tm_year; /* Years since 1900 */ int tm_wday; /* Days since Sunday (0-6) */ int tm_yday; /* Days since Jan. 1: 0-365 */ int tm_isdst; /* +1 Daylight Savings Time, 0 No DST, * -1 don't know */ }; #define _TM_DEFINED #endif #ifdef __cplusplus extern "C" { #endif _CRTIMP clock_t __cdecl clock (void); _CRTIMP time_t __cdecl time (time_t*); _CRTIMP double __cdecl difftime (time_t, time_t); _CRTIMP time_t __cdecl mktime (struct tm*); /* * These functions write to and return pointers to static buffers that may * be overwritten by other function calls. Yikes! * * NOTE: localtime, and perhaps the others of the four functions grouped * below may return NULL if their argument is not 'acceptable'. Also note * that calling asctime with a NULL pointer will produce an Invalid Page * Fault and crap out your program. Guess how I know. Hint: stat called on * a directory gives 'invalid' times in st_atime etc... */ _CRTIMP char* __cdecl asctime (const struct tm*); _CRTIMP char* __cdecl ctime (const time_t*); _CRTIMP struct tm* __cdecl gmtime (const time_t*); _CRTIMP struct tm* __cdecl localtime (const time_t*); _CRTIMP size_t __cdecl strftime (char*, size_t, const char*, const struct tm*); #ifndef __STRICT_ANSI__ extern _CRTIMP void __cdecl _tzset (void); #ifndef _NO_OLDNAMES extern _CRTIMP void __cdecl tzset (void); #endif _CRTIMP char* __cdecl _strdate(char*); _CRTIMP char* __cdecl _strtime(char*); /* These require newer versions of msvcrt.dll (6.10 or higher). */ #if __MSVCRT_VERSION__ >= 0x0601 _CRTIMP __time64_t __cdecl _time64( __time64_t); _CRTIMP __time64_t __cdecl _mktime64 (struct tm*); _CRTIMP char* __cdecl _ctime64 (const __time64_t*); _CRTIMP struct tm* __cdecl _gmtime64 (const __time64_t*); _CRTIMP struct tm* __cdecl _localtime64 (const __time64_t*); #endif /* __MSVCRT_VERSION__ >= 0x0601 */ /* * _daylight: non zero if daylight savings time is used. * _timezone: difference in seconds between GMT and local time. * _tzname: standard/daylight savings time zone names (an array with two * elements). */ #ifdef __MSVCRT__ /* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */ extern _CRTIMP int* __cdecl __p__daylight (void); extern _CRTIMP long* __cdecl __p__timezone (void); extern _CRTIMP char** __cdecl __p__tzname (void); __MINGW_IMPORT int _daylight; __MINGW_IMPORT long _timezone; __MINGW_IMPORT char *_tzname[2]; #else /* not __MSVCRT (ie. crtdll) */ #ifndef __DECLSPEC_SUPPORTED extern int* _imp___daylight_dll; extern long* _imp___timezone_dll; extern char** _imp___tzname; #define _daylight (*_imp___daylight_dll) #define _timezone (*_imp___timezone_dll) #define _tzname (*_imp___tzname) #else /* __DECLSPEC_SUPPORTED */ __MINGW_IMPORT int _daylight_dll; __MINGW_IMPORT long _timezone_dll; __MINGW_IMPORT char* _tzname[2]; #define _daylight _daylight_dll #define _timezone _timezone_dll #endif /* __DECLSPEC_SUPPORTED */ #endif /* not __MSVCRT__ */ #ifndef _NO_OLDNAMES #ifdef __MSVCRT__ /* These go in the oldnames import library for MSVCRT. */ __MINGW_IMPORT int daylight; __MINGW_IMPORT long timezone; __MINGW_IMPORT char *tzname[2]; #else /* not __MSVCRT__ */ /* CRTDLL is royally messed up when it comes to these macros. TODO: import and alias these via oldnames import library instead of macros. */ #define daylight _daylight /* NOTE: timezone not defined because it would conflict with sys/timeb.h. Also, tzname used to a be macro, but now it's in moldname. */ __MINGW_IMPORT char *tzname[2]; #endif /* not __MSVCRT__ */ #endif /* Not _NO_OLDNAMES */ #endif /* Not __STRICT_ANSI__ */ #ifndef _WTIME_DEFINED /* wide function prototypes, also declared in wchar.h */ #ifndef __STRICT_ANSI__ #ifdef __MSVCRT__ _CRTIMP wchar_t* __cdecl _wasctime(const struct tm*); _CRTIMP wchar_t* __cdecl _wctime(const time_t*); _CRTIMP wchar_t* __cdecl _wstrdate(wchar_t*); _CRTIMP wchar_t* __cdecl _wstrtime(wchar_t*); #if __MSVCRT_VERSION__ >= 0x0601 _CRTIMP wchar_t* __cdecl _wctime64 (const __time64_t*); #endif #endif /* __MSVCRT__ */ #endif /* __STRICT_ANSI__ */ _CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*); #define _WTIME_DEFINED #endif /* _WTIME_DEFINED */ #ifdef __cplusplus } #endif #endif /* Not RC_INVOKED */ #endif /* Not _TIME_H_ */ |