timestampinfo.fr
Strumenti e documentazione

DOCUMENTAZIONE SUL TEMPO

Gestire i timestamp in C

Leggere l'orologio, visualizzare una data UTC e calcolare un intervallo in ambiente POSIX.

time_t e l'Epoch Unix

In ambiente POSIX, time_t rappresenta il tempo in secondi dall'Epoch. Il solo linguaggio C non garantisce questa rappresentazione su ogni piattaforma. Non presumere nemmeno che time_t sia sempre a 32 bit.

Visualizzare un timestamp in UTC

#include <stdio.h>
#include <time.h>

int main(void) {
    time_t timestamp = (time_t)1711972800;
    struct tm *utc = gmtime(&timestamp);
    char output[32];
    if (utc == NULL) return 1;
    if (strftime(output, sizeof output,
                 "%Y-%m-%dT%H:%M:%SZ", utc) == 0) return 1;
    puts(output); /* 2024-04-01T12:00:00Z */
    return 0;
}

Calcolare una differenza

difftime(end, start) calcola una differenza in secondi senza presumere direttamente il tipo aritmetico sottostante di time_t.

time_t start = (time_t)1711972800;
time_t end = (time_t)1711981800;
double elapsed = difftime(end, start);
/* elapsed = 9000.0 */

Cosa controllare

  • gmtime visualizza l'UTC; localtime usa il fuso orario locale.
  • Le funzioni storiche possono usare memoria condivisa. In un programma POSIX concorrente, valuta gmtime_r e localtime_r.
  • mktime interpreta una data locale. Non usarlo come convertitore UTC implicito.
  • Per misurare il tempo di esecuzione su POSIX, usa clock_gettime(CLOCK_MONOTONIC, ...).

Controlla dimensione e capacità della libreria per le date oltre il 2038. Il tipo di processore da solo non determina tutti i formati gestiti.

Riferimenti

Documentazione di riferimento

Apri il convertitore

Versione italiana pubblicata il 26 settembre 2026.