Todos los sistemas operativos compatibles con el estándar POSIX, entre ellos los basados en Unix y Linux, guardan la fecha y la hora del sistema en un solo número, que cuenta los segundos que han pasado desde el 1 de enero de 1970 a las 0:00 UTC (Hora Universal Coordinada), sin contar los segundos intercalares. Esto se conoce como tiempo Unix o tiempo POSIX. El 13 de febrero de 2009 a las 23:31:30 UTC se cumplieron 1234567890 segundos.

En el lenguaje C, el tiempo Unix se representa con el tipo de dato time_t, que tradicionalmente ha sido un entero con signo de 32 bits, por lo que solo puede llegar a contar hasta 231 - 1 = 2147483647 segundos. Esto ocurrirá el 19 de enero de 2038 a las 3:14:07 UTC. Un segundo después, el contador saltará a -231 = -2147483648 segundos, es decir, al 13 de diciembre de 1901 a las 20:45:52 UTC. Esto se conoce como problema del año 2038 o efecto 2038.