DocumentosImágenesMediaHerramientas PDF

Convertidor de Formatos de Fecha

Convierte entre sintaxis de formato de fecha: strftime, Moment.js, ICU, Go, PHP, Java.

YYYY-MM-DD HH:mm:ss
Tabla de referencia
ElementostrftimeMomentICUGo
4-digit year%YYYYYyyyy2006
2-digit year%yYYyy06
Month (01-12)%mMMMM01
Full month name%BMMMMMMMMJanuary
Abbreviated month name%bMMMMMMJan
Day of month (01-31)%dDDdd02
Day of month, no leading zero%eDd2
Hour 24h (00-23)%HHHHH15
Hour 12h (01-12)%Ihhhh03
Minute (00-59)%Mmmmm04
Second (00-59)%Sssss05
AM/PM%pAaPM
Timezone abbreviation%ZzzzzMST
Timezone offset%zZZZ-0700
Full weekday name%AddddEEEEMonday
Abbreviated weekday name%adddEEEMon
Day of year (001-366)%jDDDDD__2
Procesado en tu navegador

Convertidor de formatos de fecha para desarrolladores

Todos los lenguajes

Soporta strftime, Moment.js, Day.js, ICU, Go, PHP, Java, .NET, Ruby.

100% privado

La conversión ocurre en tu navegador. No se envía ningún dato al servidor.

Vista previa real

Ve cómo se renderizaría la fecha con tu formato en cada lenguaje.

Instantáneo

Conversión en tiempo real mientras escribes. Sin registro, sin esperas.

Tres pasos, sin complicaciones

1

Introduce el token de formato

Escribe un formato de fecha como %Y-%m-%d (strftime) o YYYY-MM-DD (Moment.js). La herramienta detecta el dialecto automáticamente.

2

Conversión instantánea

Obtén el formato equivalente en todos los dialectos soportados: strftime, Moment.js, ICU, Go, PHP, Java, .NET.

3

Vista previa con fecha real

Ve cómo quedaría la fecha actual con ese formato en cada lenguaje.

¿Tienes dudas?

strftime ('string format time') es una función de la biblioteca estándar de C definida en el estándar C89/ANSI C. Formatea una estructura tm (tiempo) como una cadena de texto usando tokens como %Y (año de 4 dígitos), %m (mes), %d (día), %H (hora 24h), %M (minutos), %S (segundos). Es el origen de casi todos los sistemas de formato de fecha: Python, Ruby, PHP (date() usa tokens diferentes pero strftime() usa los mismos), bash, y muchos más.

Moment.js popularizó una notación diferente: YYYY (año 4 dígitos), MM (mes), DD (día), HH (hora 24h), mm (minutos), ss (segundos). La diferencia clave: mayúsculas vs minúsculas importan (MM es mes, mm es minutos). Esta notación fue adoptada por Day.js, date-fns, Luxon y la mayoría de las bibliotecas JavaScript modernas. La propuesta Temporal de JavaScript (TC39) usa la notación ICU.

ICU (International Components for Unicode) define el estándar CLDR para formatos de fecha. Usa tokens como yyyy (año), MM (mes), dd (día), HH (hora). Es el sistema usado en Java (java.time.format.DateTimeFormatter), Swift (DateFormatter), Kotlin, Android, y la propuesta Temporal de JavaScript. La ventaja de ICU es que también maneja localización: el patrón 'd MMMM yyyy' produce '7 de abril de 2026' en español y 'April 7, 2026' en inglés.

Go (Golang) usa una fecha de referencia específica como plantilla: el 2 de enero de 2006 a las 15:04:05 del lunes (que coincide con 01/02 03:04:05PM '06 -0700 MST, una secuencia fácil de recordar). En lugar de tokens abstractos, describes el formato mostrando cómo se vería esa fecha específica: '2006-01-02' para año-mes-día, '15:04:05' para hora completa. Este enfoque es único y más intuitivo según sus creadores, aunque confuso al principio.

Fecha ISO 8601: strftime: %Y-%m-%d, Moment.js: YYYY-MM-DD, Go: 2006-01-02, Java: yyyy-MM-dd. Fecha y hora completa: strftime: %Y-%m-%dT%H:%M:%S, Moment.js: YYYY-MM-DDTHH:mm:ss, Go: 2006-01-02T15:04:05, Java: yyyy-MM-dd'T'HH:mm:ss. Formato europeo: strftime: %d/%m/%Y, Moment.js: DD/MM/YYYY, Go: 02/01/2006, Java: dd/MM/yyyy.

Historia del formato de fechas en programación, ISO 8601, localización y manejo de zonas horarias

La estandarización del formato de fechas en computación ha sido históricamente problemática. La función strftime fue introducida en la biblioteca estándar de C (ANSI C, 1989) pero sus raíces están en los sistemas Unix de AT&T de los años 70. Antes de la estandarización, cada sistema y lenguaje usaba su propia notación, lo que causaba incompatibilidades graves. El estándar ISO 8601 (primera edición 1988, revisado en 2004 y 2019) estableció YYYY-MM-DD como el formato universal para el intercambio de datos, adoptado por XML, JSON, HTTP (para fechas de cookies y cabeceras), y la mayoría de las APIs modernas.

La localización de fechas añade otra capa de complejidad. El orden día/mes/año varía según el país: DD/MM/YYYY en Europa y Latinoamérica, MM/DD/YYYY en Estados Unidos (que causa confusión frecuente: 01/02/2026 es el 1 de febrero en Europa pero el 2 de enero en EEUU). Los sistemas ICU/CLDR gestionan estas diferencias automáticamente: la misma función de formato produce '7 de abril de 2026' en español, 'April 7, 2026' en inglés, '7. April 2026' en alemán, o '2026年4月7日' en japonés, sin que el desarrollador tenga que gestionar las diferencias manualmente.

Las zonas horarias son la parte más compleja del manejo de fechas en software. El proyecto IANA Time Zone Database (también llamado Olson Database o tzdata) mantiene el registro histórico y actualizado de todas las zonas horarias del mundo, incluyendo cambios de horario de verano (DST) históricos. Muchos bugs famosos en software están relacionados con fechas: el bug Y2K (año 2000), el bug del año 2038 en sistemas de 32 bits Unix (donde el timestamp Unix desbordará el 19 de enero de 2038), y los errores de DST que afectan a calendarios y sistemas de reservas cada dos veces al año.