WikiPlus

Convertir fechas a timestamp Unix para programación y bases de datos

Cuando escribes código que trabaja con fechas —una fecha de caducidad de token, un filtro de consulta SQL, una tarea cron programada o un parámetro de API— frecuentemente necesitas el valor epoch Unix correspondiente a una fecha específica. Calcularlo mentalmente o con código de un solo uso es innecesariamente lento. El Conversor de Timestamps de WikiPlus convierte cualquier fecha y hora introducida a su valor epoch en segundos y milisegundos al instante, listo para copiar directamente al código.

Cuándo necesitas convertir de fecha a timestamp en el desarrollo

Los casos de uso más frecuentes de la conversión inversa (fecha a timestamp) en desarrollo son: configurar el campo 'exp' de un token JWT calculando la fecha de caducidad deseada, establecer fechas de inicio y fin para períodos de análisis en consultas de base de datos, calcular timestamps futuros para programar tareas en colas de mensajería como RabbitMQ o Kafka, verificar que la fecha límite de un contrato o suscripción en el sistema de la base de datos es la correcta, y generar valores de prueba para campos de timestamp en tests unitarios e integración. El conversor hace que cualquiera de estas tareas se complete en segundos.

Generar timestamps para diferentes zonas horarias

Los timestamps Unix son UTC por definición, lo que significa que si introduces una fecha y hora en hora local, el conversor aplica automáticamente el offset de tu zona horaria para producir el valor UTC correcto. Si necesitas el timestamp correspondiente a una fecha en una zona horaria diferente a la tuya (por ejemplo, para un evento programado en Nueva York cuando trabajas en Madrid), debes tener en cuenta el offset de esa zona horaria. La diferencia entre Madrid y Nueva York en horario de verano europeo/americano es de 6 horas (UTC+2 vs UTC-4). Para generar timestamps en zonas horarias específicas programáticamente, usa las funciones de manejo de zonas horarias de tu lenguaje: Intl.DateTimeFormat en JavaScript, pytz en Python o ZonedDateTime en Java.

Timestamps para consultas de rango en bases de datos

Una consulta SQL para obtener todos los registros de un día específico usando timestamps Unix se escribe comparando rangos: WHERE created_at BETWEEN timestamp_inicio AND timestamp_fin. Para el día 1 de enero de 2024: el inicio sería 1704067200 (2024-01-01 00:00:00 UTC) y el fin sería 1704153599 (2024-01-01 23:59:59 UTC). El conversor permite calcular estos valores de inicio y fin rápidamente sin tener que escribir código de conversión de una sola vez. Para bases de datos que almacenan timestamps en milisegundos, multiplica los valores por 1000.

Expresiones cron y timestamps: planificar tareas por fecha

Los sistemas de tareas programadas como cron de Unix, AWS EventBridge, GitHub Actions scheduled workflows o los job schedulers de la mayoría de plataformas en la nube usan expresiones cron para trabajos recurrentes, pero algunos sistemas de mensajería y colas permiten programar una tarea para un timestamp Unix específico en el futuro. Al programar un envío de email para un momento específico, un cambio de precios en un e-commerce o un lanzamiento de contenido sincronizado, convertir la fecha deseada a timestamp Unix con el conversor y usar ese valor directamente en la API de la plataforma es el camino más directo y sin errores de formato.

Preguntas frecuentes

¿Cómo genero el timestamp Unix del próximo lunes a las 9:00 AM en mi zona horaria?
Introduce la fecha del próximo lunes y la hora 09:00:00 en el campo de fecha/hora del conversor. La herramienta detecta tu zona horaria del sistema operativo automáticamente y genera el valor epoch en segundos y milisegundos. Copia el valor en segundos para tokens JWT y la mayoría de APIs REST, o en milisegundos si tu lenguaje usa Date.now() como referencia.
¿El conversor soporta fechas anteriores a 1970?
Sí. Los timestamps Unix para fechas anteriores al 1 de enero de 1970 son números negativos. Por ejemplo, el 1 de enero de 1960 corresponde aproximadamente a −315619200 en segundos. Estos valores negativos son válidos en la mayoría de sistemas modernos que usan enteros de 64 bits para timestamps, aunque algunos sistemas legacy de 32 bits no los soportan correctamente.
¿Qué formato de fecha acepta el campo de entrada?
El campo de fecha usa el selector de fecha nativo del navegador, que acepta la fecha en el formato local de tu sistema operativo y la convierte internamente a ISO 8601. Si introduces la fecha manualmente como texto, el formato más seguro es ISO 8601 (YYYY-MM-DD) para la fecha y HH:MM:SS para la hora, ya que es el formato sin ambigüedad reconocido por el estándar ECMAScript.