time
, , _time32
_time64
시스템 시간을 가져옵니다.
구문
time_t time( time_t *destTime );
__time32_t _time32( __time32_t *destTime );
__time64_t _time64( __time64_t *destTime );
매개 변수
destTime
시간에 해당하는 스토리지 위치에 대한 포인터입니다.
반환 값
오류가 있는 경우 자정, 1970년 1월 1일 또는 -1 이후 경과된 시간(초)을 반환합니다.
설명
time
함수는 시스템 클록에 따라 1970년 1월 1일 자정(00:00:00), UTC(협정 세계시) 이후 경과된 시간(초)을 반환합니다. 반환 값은 destTime
로 제공된 위치에 저장됩니다. 이 매개 변수는 NULL
반환 값이 저장되지 않는 경우일 수 있습니다.
time
은 _time64
의 래퍼이며 time_t
는 기본적으로 __time64_t
와 동일합니다. 컴파일러에서 time_t
를 이전의 32비트 time_t
로 해석하게 해야 하는 경우 _USE_32BIT_TIME_T
를 정의할 수 있습니다. 2038년 1월 18일 이후에 애플리케이션이 실패할 수 있으므로 64비트 플랫폼에서는 이 매크로를 사용할 수 없으므로 권장 _USE_32BIT_TIME_T
하지 않습니다.
요구 사항
루틴에서 반환된 값 | 필수 C 헤더 | 필수 C++ 헤더 |
---|---|---|
time , , _time32 _time64 |
<time.h> |
<ctime> 또는 <time.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// crt_times.c
// compile with: /W3
// This program demonstrates these time and date functions:
// time _ftime ctime_s asctime_s
// _localtime64_s _gmtime64_s mktime _tzset
// _strtime_s _strdate_s strftime
//
// Also the global variable:
// _tzname
//
// Turn off deprecated unsafe CRT function warnings
#define _CRT_SECURE_NO_WARNINGS 1
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <string.h>
int main()
{
char tmpbuf[128], timebuf[26], ampm[] = "AM";
time_t ltime;
struct _timeb tstruct;
struct tm today, gmt, xmas = { 0, 0, 12, 25, 11, 93 };
errno_t err;
// Set time zone from TZ environment variable. If TZ is not set,
// the operating system is queried to obtain the default value
// for the variable.
//
_tzset();
// Display operating system-style date and time.
_strtime_s( tmpbuf, 128 );
printf( "OS time:\t\t\t\t%s\n", tmpbuf );
_strdate_s( tmpbuf, 128 );
printf( "OS date:\t\t\t\t%s\n", tmpbuf );
// Get UNIX-style time and display as number and string.
time( <ime );
printf( "Time in seconds since UTC 1/1/70:\t%lld\n", (long long)ltime );
err = ctime_s(timebuf, 26, <ime);
if (err)
{
printf("ctime_s failed due to an invalid argument.");
exit(1);
}
printf( "UNIX time and date:\t\t\t%s", timebuf );
// Display UTC.
err = _gmtime64_s( &gmt, <ime );
if (err)
{
printf("_gmtime64_s failed due to an invalid argument.");
}
err = asctime_s(timebuf, 26, &gmt);
if (err)
{
printf("asctime_s failed due to an invalid argument.");
exit(1);
}
printf( "Coordinated universal time:\t\t%s", timebuf );
// Convert to time structure and adjust for PM if necessary.
err = _localtime64_s( &today, <ime );
if (err)
{
printf("_localtime64_s failed due to an invalid argument.");
exit(1);
}
if ( today.tm_hour >= 12 )
{
strcpy_s( ampm, sizeof(ampm), "PM" );
today.tm_hour -= 12;
}
if ( today.tm_hour == 0 ) // Adjust if midnight hour.
today.tm_hour = 12;
// Convert today into an ASCII string
err = asctime_s(timebuf, 26, &today);
if (err)
{
printf("asctime_s failed due to an invalid argument.");
exit(1);
}
// Note how pointer addition is used to skip the first 11
// characters and printf is used to trim off terminating
// characters.
//
printf( "12-hour time:\t\t\t\t%.8s %s\n",
timebuf + 11, ampm );
// Print additional time information.
_ftime( &tstruct ); // C4996
// Note: _ftime is deprecated; consider using _ftime_s instead
printf( "Plus milliseconds:\t\t\t%u\n", tstruct.millitm );
printf( "Zone difference in hours from UTC:\t%u\n",
tstruct.timezone/60 );
printf( "Time zone name:\t\t\t\t%s\n", _tzname[0] ); //C4996
// Note: _tzname is deprecated; consider using _get_tzname
printf( "Daylight savings:\t\t\t%s\n",
tstruct.dstflag ? "YES" : "NO" );
// Make time for noon on Christmas, 1993.
if( mktime( &xmas ) != (time_t)-1 )
{
err = asctime_s(timebuf, 26, &xmas);
if (err)
{
printf("asctime_s failed due to an invalid argument.");
exit(1);
}
printf( "Christmas\t\t\t\t%s\n", timebuf );
}
// Use time structure to build a customized time string.
err = _localtime64_s( &today, <ime );
if (err)
{
printf(" _localtime64_s failed due to invalid arguments.");
exit(1);
}
// Use strftime to build a customized time string.
strftime( tmpbuf, 128,
"Today is %A, day %d of %B in the year %Y.\n", &today );
printf( tmpbuf );
}
OS time: 13:51:23
OS date: 04/25/03
Time in seconds since UTC 1/1/70: 1051303883
UNIX time and date: Fri Apr 25 13:51:23 2003
Coordinated universal time: Fri Apr 25 20:51:23 2003
12-hour time: 01:51:23 PM
Plus milliseconds: 552
Zone difference in hours from UTC: 8
Time zone name: Pacific Standard Time
Daylight savings: YES
Christmas Sat Dec 25 12:00:00 1993
Today is Friday, day 25 of April in the year 2003.
참고 항목
시간 관리
asctime
, _wasctime
asctime_s
, _wasctime_s
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
gmtime_s
, , _gmtime32_s
_gmtime64_s
localtime
, , _localtime32
_localtime64
localtime_s
, , _localtime32_s
_localtime64_s
_utime
, _utime32
, _utime64
, _wutime
, _wutime32
_wutime64