Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Obtient l’heure système.
Syntaxe
time_t time( time_t *destTime ); // See note in remarks section about linkage
__time32_t _time32( __time32_t *destTime );
__time64_t _time64( __time64_t *destTime );
Paramètres
destTime
Pointeur vers l’emplacement de stockage pour le moment.
Valeur retournée
Retourne le temps écoulé en secondes depuis minuit, le 1er janvier 1970 ou -1 en cas d’erreur.
Notes
La fonction time retourne le nombre de secondes écoulées depuis minuit (00:00:00), le 1er janvier 1970, temps universel coordonné (UTC), d’après l’horloge système. La valeur de retour est stockée dans l’emplacement donné par destTime. Ce paramètre peut être NULL, auquel cas la valeur de retour n’est pas stockée.
time est un wrapper pour _time64 et time_t est, par défaut, équivalent à __time64_t. Si vous devez forcer le compilateur à interpréter time_t comme ancien time_t32 bits, vous pouvez définir _USE_32BIT_TIME_T. Nous vous déconseillons _USE_32BIT_TIME_T, car votre application peut échouer après le 18 janvier 2038 . L’utilisation de cette macro n’est pas autorisée sur les plateformes 64 bits.
Note
Lorsque vous utilisez le Kit de développement logiciel (SDK) Windows version 10.0.26100.6901 et Visual Studio 2026 ou version ultérieure, time il n’est plus static inline (liaison interne). Au lieu de cela, il s’agit inline (liaison externe).
Pour revenir au comportement précédent, #define _STATIC_INLINE_UCRT_FUNCTIONS=1 avant d’inclure tous les en-têtes CRT. Par défaut, _STATIC_INLINE_UCRT_FUNCTIONS est défini sur 0.
Cette modification augmente la conformité UCRT avec la norme C++ et améliore la compatibilité avec les modules C++.
Spécifications
| Routine | En-tête C requis | En-tête C++ requis |
|---|---|---|
time, , _time32_time64 |
<time.h> |
<ctime> ou <time.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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.
Voir aussi
Gestion des horaires
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