C funzioni di data e ora - C date and time functions
| Libreria standard C |
|---|
| Argomenti generali |
| Intestazioni varie |
|
Le funzioni di data e ora C sono un gruppo di funzioni nella libreria standard del linguaggio di programmazione C che implementano operazioni di manipolazione di data e ora. Forniscono supporto per l' acquisizione dell'ora , la conversione tra i formati di data e l'output formattato in stringhe.
Panoramica delle funzioni
Le operazioni di data e ora C sono definite nel time.h file dictime intestazione ( intestazione in C++ ).
| Identificatore | Descrizione | |
|---|---|---|
Manipolazione del tempo |
difftime
|
calcola la differenza in secondi tra due time_tvalori
|
time
|
restituisce l' ora corrente del sistema come time_tvalore, numero di secondi, (che di solito è il tempo trascorso da un'epoca , tipicamente l' epoca Unix ). Il valore dell'epoca dipende dal sistema operativo; 1900 e 1970 sono spesso usati. Vedi RFC 868.
|
|
clock
|
restituisce un conteggio di tick del processore associato al processo | |
timespec_get (C11)
|
restituisce un orario di calendario basato su una base di tempo | |
Conversioni di formato |
asctime
|
converte un struct tmoggetto in una rappresentazione testuale (deprecato)
|
ctime
|
converte un time_tvalore in una rappresentazione testuale
|
|
strftime
|
converte un struct tmoggetto in una rappresentazione testuale personalizzata
|
|
wcsftime
|
converte un struct tmoggetto in una rappresentazione testuale a stringa larga personalizzata
|
|
gmtime
|
converte un time_tvalore in tempo di calendario espresso come Coordinated Universal Time
|
|
localtime
|
converte un time_tvalore nell'ora del calendario espressa come ora locale
|
|
mktime
|
converte l'ora del calendario in un time_tvalore.
|
|
| costanti |
CLOCKS_PER_SEC
|
numero di cicli di clock del processore al secondo |
TIME_UTC
|
base dei tempi per UTC | |
| tipi |
struct tm
|
tipo di tempo del calendario suddiviso : anno, mese, giorno, ora, minuto, secondo |
time_t
|
tipo di tempo aritmetico (tipicamente tempo dall'epoca) | |
clock_t
|
tipo di tempo di esecuzione del processo | |
timespec
|
tempo con secondi e nanosecondi |
I timespectipi e relativi sono stati originariamente proposti da Markus Kuhn per fornire una varietà di basi temporali, ma solo è TIME_UTCstato accettato. Le funzionalità sono state, tuttavia, aggiunte a C++ nel 2020 in std::chrono.
Esempio
Il seguente codice sorgente C stampa l'ora corrente nel flusso di output standard .
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
time_t current_time;
char* c_time_string;
/* Obtain current time. */
current_time = time(NULL);
if (current_time == ((time_t)-1))
{
(void) fprintf(stderr, "Failure to obtain the current time.\n");
exit(EXIT_FAILURE);
}
/* Convert to local time format. */
c_time_string = ctime(¤t_time);
if (c_time_string == NULL)
{
(void) fprintf(stderr, "Failure to convert the current time.\n");
exit(EXIT_FAILURE);
}
/* Print to stdout. ctime() has already added a terminating newline character. */
(void) printf("Current time is %s", c_time_string);
exit(EXIT_SUCCESS);
}
L'uscita è:
Current time is Thu Sep 15 21:18:23 2016