Time Management

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at 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 is not 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 .NET Framework equivalent
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. System::DateTime::ToLongDateString, System::DateTime::ToLongTimeString, System::DateTime::ToShortDateString, System::DateTime::ToShortTimeString, System::DateTime::ToString
clock Return elapsed wall-clock time for process. Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.
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. System::DateTime::GetDateTimeFormats, System::DateTime::ToString, System::DateTime::ToLongTimeString, System::DateTime::ToShortTimeString
difftime, _difftime32, _difftime64 Compute difference between two times. System::DateTime::Subtract
_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. System::DateTime::Now
_futime, _futime32, _futime64 Set modification time on open file System::IO::File::SetLastAccessTime, System::IO::File::SetLastWriteTime, System::IO::File::SetCreationTime
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. System::DateTime::UtcNow, System::DateTime::ToUniversalTime
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 tmwith local correction. The versions of these functions with the _s suffix are more secure. System::DateTime::ToLocalTime
_mkgmtime, _mkgmtime32, _mkgmtime64 Convert time to calendar value in Greenwich Mean Time. System::DateTime::ToUniversalTime
mktime, _mktime32, _mktime64 Convert time to calendar value. System::DateTime::DateTime
_strdate, _wstrdate, _strdate_s, _wstrdate_s Return current system date as string. The versions of these functions with the _s suffix are more secure. Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.
strftime, wcsftime, _strftime_l, _wcsftime_l Format date-and-time string for international use. System::DateTime::ToLongDateString, System::DateTime::ToLongTimeString, System::DateTime::ToShortDateString, System::DateTime::ToShortTimeString, System::DateTime::ToString
_strtime, _wstrtime, _strtime_s, _wstrtime_s Return current system time as string. The versions of these functions with the _s suffix are more secure. System::DateTime::ToLongDateString, System::DateTime::ToLongTimeString, System::DateTime::ToShortDateString, System::DateTime::ToShortTimeString, System::DateTime::ToString
time, _time32, _time64 Get current system time as type time_t, __time32_t or as type __time64_t. Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.
_tzset Set external time variables from environment time variable TZ. Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.
_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64 Set modification time for specified file using either current time or time value stored in structure. Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

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 C++ 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.

See Also

Run-Time Routines by Category