Share via


_ftime_s, _ftime32_s, _ftime64_s

Obtient l’heure actuelle. Ces fonctions sont des versions de , _ftime64_ftime32avec des améliorations de _ftimesécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT.

Syntaxe

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

Paramètres

timeptr
Pointeur vers une structure ou un _timebpointeur__timeb32__timeb64.

Valeur retournée

Zéro si l'opération a réussi, un code d'erreur en cas d'échec. Si timeptr est NULL, la valeur de retour est EINVAL.

Notes

La _ftime_s fonction obtient l’heure locale actuelle et la stocke dans la structure pointée par timeptr. Les _timebstructures et __timeb64 les structures __timeb32sont définies dans SYS\Timeb.h. Elles contiennent quatre champs, qui sont présentés dans le tableau suivant.

Champ Description
dstflag Valeur non nulle si l’heure d’été est en vigueur pour le fuseau horaire local. (Consultez _tzset une explication de la détermination du temps d’été.)
millitm Fraction de seconde en millisecondes.
time Durée en secondes depuis le 1er janvier 1970, minuit (00:00:00), temps universel (UTC).
timezone Différence en minutes, en direction de l’ouest, entre les heures UTC et locale. La valeur de timezone est définie à partir de la valeur de la variable globale _timezone (voir _tzset).

La _ftime64_s fonction, qui utilise la structure, autorise la __timeb64 création de fichiers à exprimer jusqu’à 23 :59 :59 :59, 31 décembre 3000, UTC ; alors que _ftime32_s seule représente les dates jusqu’à 23 :59 :59 :59 janvier 18, 2038, UTC. Le 1er janvier 1970 à minuit est la limite inférieure de la plage de dates pour toutes ces fonctions.

La _ftime_s fonction est équivalente à _ftime64_s, et _timeb contient une heure 64 bits, sauf si _USE_32BIT_TIME_T elle est définie, auquel cas l’ancien comportement est en vigueur ; _ftime_s utilise une heure 32 bits et _timeb contient une heure 32 bits.

_ftime_s valide ses paramètres. Si un pointeur Null est passé en tant que timeptr, la fonction appelle le gestionnaire de paramètres non valide, comme décrit dans la validation de paramètre. Si l’exécution est autorisée à se poursuivre, la fonction définit errno sur EINVAL.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Fonction En-tête requis
_ftime_s <sys/types.h> et <sys/timeb.h>
_ftime32_s <sys/types.h> et <sys/timeb.h>
_ftime64_s <sys/types.h> et <sys/timeb.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Toutes les versions des bibliothèques Runtime C.

Exemple

// 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] );
}
Seconds since midnight, January 1, 1970 (UTC): 1051553334
Milliseconds: 230
Minutes between UTC and local time: 480
Daylight savings time flag (1 means Daylight time is in effect): 1
The time is Mon Apr 28 11:08:54.230 2003

Voir aussi

Gestion des horaires
asctime, _wasctime
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64