Una fecha como 2026-08-15 puede significar un día de calendario sin hora. Convertirla automáticamente en un instante UTC y mostrarla en otra zona puede desplazarla al día anterior. Por eso no todas las operaciones de fecha deben tratarse igual.

Día civil frente a instante

Para calcular una edad o sumar días a una fecha, interesa conservar año, mes y día. Para registrar una videollamada internacional, en cambio, interesa un instante absoluto acompañado de zona horaria. Mezclar ambos modelos origina muchos errores.

Un ejemplo del error

Si una fecha de calendario como 2026-08-15 se interpreta como las 00:00 en UTC, y el visitante está en un huso cinco horas por detrás, su reloj local marca todavía las 19:00 del día 14 en el instante en que, en UTC, ya es el 15. Si la página formatea ese instante con el huso horario del navegador en vez de leer directamente año, mes y día, puede mostrar «14 de agosto» donde el dato guardado era «15 de agosto». El dato no estaba mal: el paso por un instante UTC intermedio fue innecesario y desplazó el día.

Duraciones que cruzan cambios horarios

Un día de calendario no siempre dura exactamente 24 horas en lugares con cambio estacional. Para contar días entre fechas, es más seguro normalizar sus componentes de calendario y contar saltos de día. Para medir horas reales transcurridas, sí hay que considerar la zona.

Las herramientas de fecha y hora explican qué criterio utilizan. Comprueba también si el intervalo es inclusivo y cómo se tratan fines de semana o festivos.

Errores frecuentes con fechas

Guardar o compartir una fecha en un formato ambiguo. «03/04/2026» puede leerse como 3 de abril o como 4 de marzo según la convención del país. El formato AAAA-MM-DD (ISO 8601) elimina esa ambigüedad porque el orden de los componentes es siempre el mismo.

Restar dos marcas de tiempo para contar «días» cuando en realidad interesan días de calendario. Si un día tiene un cambio de horario estacional, puede durar 23 o 25 horas en lugar de 24. Dividir una diferencia de milisegundos entre las horas de un día puede dar un resultado con un día de más o de menos precisamente en las fechas donde ocurre ese cambio.

Asumir que una librería de fechas gestiona la zona horaria automáticamente sin configurarla. Muchas herramientas de programación asumen la zona horaria del sistema donde se ejecutan por defecto, que no es necesariamente la del visitante ni la que el dato requiere. Un cálculo que funciona en el servidor puede fallar en el navegador del usuario, o al revés.

Calcular una edad restando años sin comprobar el día y el mes. Restar directamente el año de nacimiento del año actual falla si el cumpleaños de este año todavía no ha llegado: hay que comparar también el mes y el día antes de dar la edad por buena.

Preguntas frecuentes

¿Qué formato de fecha es más seguro para guardar o compartir datos? AAAA-MM-DD (ISO 8601). Es el único formato numérico común que no se puede confundir entre el orden día-mes y mes-día.

¿Cómo evito que una fecha se desplace un día al mostrarla? Si el dato es una fecha de calendario sin hora, léela por sus componentes (año, mes, día) en vez de convertirla a un instante UTC y volver a formatearla con la zona horaria del navegador.

¿El cambio de horario estacional afecta a un cálculo de «días entre fechas»? No si el cálculo compara componentes de calendario (año, mes, día). Sí puede afectar si el cálculo resta marcas de tiempo absolutas y divide entre 24 horas, porque ese día concreto no dura 24 horas exactas.