Cómo usar: Conversor de timestamp Unix
- Arriba verás el timestamp de la hora actual, actualizado en tiempo real, y puedes copiarlo en segundos o en milisegundos.
- En Timestamp → fecha, escribe el número: verás la fecha en UTC, en la zona horaria de tu dispositivo, en formato ISO 8601 y cuánto tiempo ha pasado desde entonces (o cuánto falta).
- La unidad se detecta automáticamente por el número de dígitos, pero si lo necesitas puedes elegir a mano Segundos o Milisegundos.
- En Fecha → timestamp, elige la fecha, la hora y la zona horaria. Para tu hora local, selecciona Zona horaria de este dispositivo o UTC si trabajas con servidores. Al momento verás el valor en segundos y en milisegundos.
¿Qué es un timestamp Unix (tiempo epoch)?
Un timestamp Unix es el número de segundos que han pasado desde el 1 de enero de 1970 a las 00:00:00 (UTC), momento conocido como «epoch». Como no depende de la zona horaria, el valor es el mismo en todo el mundo. Por eso se usa mucho para guardar fechas en registros de servidor, bases de datos y respuestas de API.
- 0 → 1970-01-01 00:00:00 (UTC)
- 1.000.000.000 → 2001-09-09 01:46:40 (UTC)
- 1.700.000.000 → 2023-11-14 22:13:20 (UTC)
Por ejemplo, ese último valor en la hora peninsular de España (UTC+1 en noviembre) es el 14 de noviembre de 2023 a las 23:13:20, y en Ciudad de México (UTC−6) es el mismo día a las 16:13:20.
Diferencia entre timestamps de 10 y 13 dígitos
Un número de 10 dígitos está en segundos y uno de 13 dígitos, en milisegundos (milésimas de segundo). Por lo general, time() en Linux, PHP y Python devuelve segundos, mientras que Date.now() de JavaScript y System.currentTimeMillis() de Java devuelven milisegundos. Si divides un valor en milisegundos entre 1000, obtienes el valor en segundos.
| Entorno | Cómo obtener el timestamp actual | Unidad |
|---|---|---|
| JavaScript | Date.now() | Milisegundos |
| Python | time.time() | Segundos (con decimales) |
| Java | System.currentTimeMillis() | Milisegundos |
| Shell de Linux | date +%s | Segundos |
| MySQL | UNIX_TIMESTAMP() | Segundos |
Cómo pasar un timestamp a tu hora local
El timestamp siempre se cuenta en UTC. Para obtener la hora local tienes que sumar o restar la diferencia de tu zona horaria con respecto a UTC. Algunos ejemplos:
| Lugar | Diferencia con UTC | Horario de verano |
|---|---|---|
| España peninsular y Baleares | UTC+1 | Sí, UTC+2 de finales de marzo a finales de octubre |
| Islas Canarias | UTC+0 | Sí, UTC+1 en verano |
| Ciudad de México (centro del país) | UTC−6 | No, desde 2022 |
| Colombia, Perú, Ecuador | UTC−5 | No |
| Argentina, Uruguay | UTC−3 | No |
Como el horario de verano cambia la diferencia según la época del año, lo más cómodo es dejar que el conversor use la zona horaria de tu dispositivo, que ya tiene en cuenta esas reglas.
En Excel o Google Sheets puedes convertir un timestamp en segundos de la celda A1 así: =(A1/86400)+FECHA(1970;1;1)-6/24. Divides entre los segundos de un día (86.400), sumas el 1 de enero de 1970 y ajustas la diferencia horaria (aquí −6 horas, la de Ciudad de México; para España en invierno usarías +1/24). Según la configuración regional, el separador de argumentos puede ser coma en lugar de punto y coma. Después aplica a la celda un formato de fecha y hora.
¿Qué es el problema del año 2038?
Los sistemas antiguos que guardan el timestamp como un entero de 32 bits con signo no pueden pasar de 2.147.483.647, que corresponde al 19 de enero de 2038 a las 03:14:07 (UTC). Al superar ese valor, el número se vuelve negativo y la fecha salta a 1901. Esto se conoce como el problema del año 2038. Los sistemas operativos y lenguajes modernos usan enteros de 64 bits y no lo sufren.