Time management
Use these functions to get the current time and convert, adjust, and store it as necessary. The current time is the system time.
The _ftime
and localtime
routines use the TZ
environment variable. If TZ
isn't set, the run-time library attempts to use the time-zone information specified by the operating system. If this information is unavailable, these functions use the default value of PST8PDT. For more information on TZ
, see _tzset
; also see _daylight
, timezone
, and _tzname
.
Time routines
Function | Use |
---|---|
asctime , _wasctime , asctime_s , _wasctime_s |
Convert time from type struct tm to character string. The versions of these functions with the _s suffix are more secure. |
clock |
Return elapsed wall-clock time for process. |
ctime , _ctime32 , _ctime64 , _wctime , _wctime32 , _wctime64 , _ctime_s , _ctime32_s , _ctime64_s , _wctime_s , _wctime32_s , _wctime64_s |
Convert time from type time_t , __time32_t or __time64_t to character string. The versions of these functions with the _s suffix are more secure. |
difftime , _difftime32 , _difftime64 |
Compute difference between two times. |
_ftime , _ftime32 , _ftime64 ,_ftime_s , _ftime32_s , _ftime64_s |
Store current system time in variable of type struct _timeb or type struct __timeb64 The versions of these functions with the _s suffix are more secure. |
_futime , _futime32 , _futime64 |
Set modification time on open file |
gmtime , _gmtime32 , _gmtime64 , gmtime_s , _gmtime32_s , _gmtime64_s |
Convert time from type time_t to struct tm or from type __time64_t to struct tm . The versions of these functions with the _s suffix are more secure. |
localtime , _localtime32 , _localtime64 , localtime_s , _localtime32_s , _localtime64_s |
Convert time from type time_t to struct tm or from type __time64_t to struct tm with local correction. The versions of these functions with the _s suffix are more secure. |
_mkgmtime , _mkgmtime32 , _mkgmtime64 |
Convert time to calendar value in Greenwich Mean Time. |
mktime , _mktime32 , _mktime64 |
Convert time to calendar value. |
_strdate , _wstrdate , _strdate_s , _wstrdate_s |
Return current system date as string. The versions of these functions with the _s suffix are more secure. |
strftime , wcsftime , _strftime_l , _wcsftime_l |
Format date-and-time string for international use. |
_strtime , _wstrtime , _strtime_s , _wstrtime_s |
Return current system time as string. The versions of these functions with the _s suffix are more secure. |
time , _time32 , _time64 |
Get current system time as type time_t , __time32_t or as type __time64_t . |
_tzset |
Set external time variables from environment time variable TZ . |
_utime , _utime32 , _utime64 , _wutime , _wutime32 , _wutime64 |
Set modification time for specified file using either current time or time value stored in structure. |
Note
In all versions of Microsoft C/C++ except Microsoft C/C++ version 7.0, and in all versions of Visual C++, the time function returns the current time as the number of seconds elapsed since midnight on January 1, 1970. In Microsoft C/C++ version 7.0, time
returned the current time as the number of seconds elapsed since midnight on December 31, 1899.
Note
In versions of Visual C++ and Microsoft C/C++ before Visual Studio 2005, time_t
was a long int
(32 bits) and hence could not be used for dates past 3:14:07 January 19, 2038, UTC. time_t
is now equivalent to __time64_t
by default, but defining _USE_32BIT_TIME_T
changes time_t
to __time32_t
and forces many time functions to call versions that take the 32-bit time_t
. For more information, see Standard types and comments in the documentation for the individual time functions.