gmtime
, _gmtime32
, _gmtime64
Converte un time_t
valore di ora in una tm
struttura. Sono disponibili versioni più sicure di queste funzioni; vedere gmtime_s
, _gmtime32_s
, _gmtime64_s
.
Sintassi
struct tm *gmtime( const time_t *sourceTime );
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );
Parametri
sourceTime
Puntatore all'ora archiviata. L'ora è rappresentata come secondi trascorsi dalla mezzanotte (00.00.00) del 1 gennaio 1970 nel formato UTC (Coordinated Universal Time).
Valore restituito
Puntatore a una struttura di tipo tm
. I campi della struttura restituita contengono il valore valutato dell'argomento sourceTime
in formato UTC anziché nell'ora locale. Ognuno dei campi della struttura è di tipo int
, come segue:
Campo | Descrizione |
---|---|
tm_sec |
Secondi dopo minuto (0 - 59). |
tm_min |
Minuti dopo l'ora (0 - 59). |
tm_hour |
Ore dalla mezzanotte (0 - 23). |
tm_mday |
Giorno del mese (1 - 31). |
tm_mon |
Mese (0 - 11; Gennaio = 0). |
tm_year |
Anno (anno corrente meno 1900). |
tm_wday |
Giorno della settimana (0 - 6; Domenica = 0). |
tm_yday |
Giorno dell'anno (0 - 365; 1 gennaio = 0). |
tm_isdst |
Sempre 0 per gmtime . |
Entrambe le versioni a 32 bit e 64 bit di gmtime
, mktime
, mkgmtime
e localtime
usano una sola struttura tm
comune per ogni thread per la conversione. Ogni chiamata a una di queste funzioni elimina il risultato di una chiamata precedente. Se sourceTime
rappresenta una data precedente alla mezzanotte dell'1 gennaio 1970, gmtime
restituisce NULL
. Non viene restituito alcun errore.
_gmtime64
, che usa la __time64_t
struttura , consente di esprimere le date fino alle 23.59.59 del 31 dicembre 3000 UTC. _gmtime32
rappresentano solo le date fino alle 23.59.59 del 18 gennaio 2038, UTC. La mezzanotte del 1 gennaio 1970 è il limite inferiore dell'intervallo di date per entrambe le funzioni.
gmtime
è una funzione inline equivalente a _gmtime64
e time_t
è equivalente a __time64_t
a meno che non sia definito _USE_32BIT_TIME_T
. Se è necessario forzare il compilatore a interpretare time_t
come la versione precedente di time_t
a 32 bit, è possibile definire _USE_32BIT_TIME_T
, ma in questo modo gmtime
viene allineata a _gmtime32
e time_t
deve essere definita come __time32_t
. Non è consigliabile usare _USE_32BIT_TIME_T
, perché non è consentito nelle piattaforme a 64 bit. In ogni caso, l'applicazione potrebbe non riuscire dopo il 18 gennaio 2038.
Queste funzioni convalidano i relativi parametri. Se sourceTime
è un NULL
puntatore o se il sourceTime
valore è negativo, queste funzioni richiamano un gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, le funzioni restituiscono NULL
e impostano errno
su EINVAL
.
Osservazioni:
La _gmtime32
funzione suddivide il sourceTime
valore e lo archivia in una struttura allocata staticamente di tipo tm
, definita in TIME.H
. Il valore di sourceTime
viene in genere ottenuto da una chiamata alla funzione time
.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione C obbligatoria | Intestazione C++ obbligatoria |
---|---|---|
gmtime , _gmtime32 , _gmtime64 |
<time.h> |
<ctime> oppure <time.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// crt_gmtime.c
// compile with: /W3
// This program uses _gmtime64 to convert a long-
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime to
// convert this structure to an output string.
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *newtime;
__int64 ltime;
char buff[80];
_time64( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // C4996
// Note: _gmtime64 is deprecated; consider using _gmtime64_s
asctime_s( buff, sizeof(buff), newtime );
printf( "Coordinated universal time is %s\n", buff );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002
Vedi anche
Gestione orari
asctime
, _wasctime
ctime
, _ctime32
, _ctime64
, _wctime
, _wctime32
_wctime64
_ftime
, _ftime32
, _ftime64
gmtime_s
, _gmtime32_s
, _gmtime64_s
localtime
, _localtime32
, _localtime64
_mkgmtime
, _mkgmtime32
, _mkgmtime64
mktime
, _mktime32
, _mktime64
time
, _time32
, _time64