time.h è l'header file della libreria standard del C che fornisce un accesso standardizzato alle funzioni di acquisizione e manipolazione del tempo. Fornisce supporto per ottenere il tempo, trasformarlo in diversi formati e convertirlo in stringa.

Funzioni TipologiaNomeDescrizioneManipolazione dell'oradifftimeCalcola la differenza in secondi di due valori time_ttimeRestituisce l'ora del sistema sotto forma di time_t in secondi (che corrispondono solitamente ai secondi dall'epoca, tipicamente dall'epoca Unix). Il valore dell'epoca dipende dal sistema operativo. Vengono spesso usati il 1970 e il 1900 come epocaclockRestituisce il numero di tick passati a partire dal lancio del programmatimespec_get(C11)Restituisce la data in secondi e millisecondi da una baseConversione di formatiasctimeConverte una struct tm in una rappresentazione testuale (obsoleta)ctimeConverte un valore time_t in una rappresentazione testualestrftimeConverte una struct tm in una rappresentazione testuale personalizzatastrptimeConverte una stringa contenente l'ora in una struct tmwcsftimeConverte una struct tm in una rappresentazione testuale personalizzata usando wide stringgmtimeConverte un valore time_t in ora basata sul calendario espressa come ora UTClocaltimeConverte un valore time_t in ora basata sul calendario espressa come ora localemktimeConverte l'ora basato sul calendario in time_t

Costanti NomeDescrizioneCLOCKS_PER_SEC Definisce il numero di "tick" della CPU che trascorrono in un secondo. clock()/CLOCKS_PER_SEC risulta quindi essere un tempo espresso in secondi.

Tipi di dato

NomeDescrizioneclock_t Tipo di dato restituito da clock(). Generalmente definito come un long int. time_t Tipo di dato restituito da time(), rappresenta un tempo di calendario. Generalmente definito come un long int. struct tm Struttura usata e restituita da asctime(), gmtime(), localtime() e mktime().struct timespecStruttura usata da timespec_get(). Contiene una data composta dal numero di secondi e nanosecondi.

Esempio Il programma in C qui sotto stampa sullo standard output l'ora corrente:#include <time.h> #include <stdlib.h> #include <stdio.h>

int main(void) { time_t ora_corrente; char* stringa_ora_corrente;

/* Otteniamo l'ora corrente. */ ora_corrente = time(NULL);

if (ora_corrente == ((time_t)-1))

(void) fprintf(stderr, "Errore nell'ottenimento dell'ora corrente.\n"); exit(EXIT_FAILURE);

/* Convertiamola nell'ora locale. */ stringa_ora_corrente = ctime(&ora_corrente);

if (stringa_ora_corrente == NULL)

(void) fprintf(stderr, "Errore nella conversione in ora locale.\n"); exit(EXIT_FAILURE);

/* Stampiamola sullo standard output. ctime() ha già aggiunto il carattere di ritorno a capo. */ (void) printf("L'ora corrente è %s", stringa_ora_corrente); exit(EXIT_SUCCESS); }L'output è il seguente:L'ora corrente è Sat Sep 16 18:24:29 2023

Altri progetti

Collegamenti esterni time.h da The Open Group Base Specifications Issue 7

69.16 File «time.h» da Appunti di informatica libera

Categoria:Libreria standard del C