다음을 통해 공유


_ftime_s, _ftime32_s, _ftime64_s

현재 시간을 가져옵니다. CRT의 보안 기능에 설명된 대로 보안 향상 기능이 포함된 _ftime, _ftime32, _ftime64 버전입니다.

errno_t _ftime_s( 
   struct _timeb *timeptr 
);
errno_t _ftime32_s( 
   struct __timeb32 *timeptr 
);
errno_t _ftime64_s( 
   struct __timeb64 *timeptr 
);

매개 변수

  • timeptr
    _timeb,__timeb32 또는 __timeb64 구조체에 대한 포인터입니다.

반환 값

성공 시 0이고, 실패 시 오류 코드입니다. timeptr가 NULL인 경우 반환 값은 EINVAL입니다.

설명

_ftime_s 함수는 현재 현지 시간을 가져오고 timeptr*.* 으로 지정된 구조체에서 이것을 저장합니다. _timeb,__timeb32, 와__timeb64 구조체는 SYS\Timeb.h에서 정의됩니다. 그들은 다음 표에서 나열된 4개의 필드를 포함합니다.

  • dstflag
    만약 현지에 섬머타임제가 적용된 경우 0이 아닙니다. (섬머타임제가 결정되는 방법의 대한 설명은 tzset 를 참조하세요.)

  • millitm
    초를 밀리초로 나눕니다.

  • time
    셰게 협정시(UTC), 1970년 1월 1일 자정(00:00:00)이후 시간입니다.

  • timezone
    UTC와 현지 시간 간에, westward 이동시간만큼 차이가 납니다. timezone 의 값은 _timezone 전역변수의 값으로 설정됩니다. ( _tzset을 참조)

_ftime64_s 는 __timeb64 구조체를 사용하고, UTC 3000년 12월 31일 23시 59분 59초까지 파일 생성날짜를 표현합니다; _ftime32_s 는 UTC 2038년 1월 19일 3시 14분 7초까지만 표현합니다. 1970년 1월 1일 자정은 모든 함수의 날짜 범위의 하한 값입니다.

_ftime_s 는 _ftime64_s 와 동일하고 _timeb 는 64비트 시간을 포함합니다. USE_32BIT_TIME_T 가 정의 되지 않는 한 이것은 사실입니다. 오랜 동작도 영향을 받습니다; _ftime_s 는 32비트 시간을 사용하고 _timeb 는 32비트 시간을 포함합니다.

_ftime_s 매개 변수의 유효성을 검사합니다. timeptr 이 null 포인터인 경우 매개 변수 유효성 검사에 설명된 대로 함수는 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우, 함수는 errno를 EINVAL로 설정합니다.

요구 사항

Function

필수 헤더

_ftime_s

<sys/types.h> 및 <sys/timeb.h>

_ftime32_s

<sys/types.h> 및 <sys/timeb.h>

_ftime64_s

<sys/types.h> 및 <sys/timeb.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

라이브러리

모든 버전의 C 런타임 라이브러리입니다.

예제

// crt_ftime64_s.c
// This program uses _ftime64_s to obtain the current
// time and then stores this time in timebuffer.

#include <stdio.h>
#include <sys/timeb.h>
#include <time.h>

int main( void )
{
   struct _timeb timebuffer;
   char timeline[26];
   errno_t err;
   time_t time1;
   unsigned short millitm1;
   short timezone1;
   short dstflag1;

   _ftime64_s( &timebuffer );

    time1 = timebuffer.time;
    millitm1 = timebuffer.millitm;
    timezone1 = timebuffer.timezone;
    dstflag1 = timebuffer.dstflag;

   printf( "Seconds since midnight, January 1, 1970 (UTC): %I64d\n", 
   time1);
   printf( "Milliseconds: %d\n", millitm1);
   printf( "Minutes between UTC and local time: %d\n", timezone1);
   printf( "Daylight savings time flag (1 means Daylight time is in "
           "effect): %d\n", dstflag1); 
   
   err = ctime_s( timeline, 26, & ( timebuffer.time ) );
   if (err)
   {
       printf("Invalid argument to ctime_s. ");
   }
   printf( "The time is %.19s.%hu %s", timeline, timebuffer.millitm,
           &timeline[20] );
}
  

해당 .NET Framework 항목

System::DateTime::Now

참고 항목

참조

시간 관리

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

time, _time32, _time64