timestampinfo.fr
Herramientas y documentación

DOCUMENTACIÓN DEL TIEMPO

Trabajar con timestamps en C

Lee el reloj, muestra una fecha UTC y calcula un intervalo en un entorno POSIX.

time_t y la época Unix

En un entorno POSIX, time_t representa el tiempo en segundos desde la época. El lenguaje C por sí solo no garantiza esta representación en todas las plataformas. Tampoco supongas que time_t siempre tiene 32 bits.

Mostrar un timestamp en 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;
}

Calcular una diferencia

difftime(end, start) calcula una diferencia en segundos sin suponer directamente el tipo aritmético subyacente de time_t.

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

Qué comprobar

  • gmtime muestra UTC; localtime utiliza la zona horaria local.
  • Las funciones antiguas pueden utilizar memoria compartida. En un programa POSIX concurrente, considera gmtime_r y localtime_r.
  • mktime interpreta una fecha local. No lo utilices como conversor UTC implícito.
  • Para medir el tiempo de ejecución en POSIX, utiliza clock_gettime(CLOCK_MONOTONIC, ...).

Comprueba el tamaño y las capacidades de la biblioteca para fechas posteriores a 2038. El tipo de procesador por sí solo no determina todos los formatos tratados.

Referencias

Documentación de referencia

Abrir el conversor

Versión en español publicada el 26 de septiembre de 2026.