¿Cómo formatear correctamente una fecha en JavaScript? (formato DD.MM.AAAA y otros)
¡Hola a todos! Acabo de empezar a estudiar JavaScript y me encontré con el problema de formatear fechas. Necesito mostrar la fecha actual en formato "12.05.2023" (día.mes.año), pero la salida estándar de new Date() da algo como "Fri May 12 2023 14:30:00 GMT+0300". Esto es ilegible para el usuario.
Probé usar los métodos getDate(), getMonth(), getFullYear(), pero queda mal:
```javascript
const now = new Date();
console.log(now.getDate() + '.' + now.getMonth() + '.' + now.getFullYear());
// Muestra: 12.4.2023 (¡el mes es 4 en lugar de 5!)
```
Otro problema: si el día o el mes son menores a 10, no hay cero a la izquierda. Obtengo "1.5.2023", pero necesito "01.05.2023".
¿Me pueden decir cómo formatear fechas de manera correcta y elegante? ¿Existen métodos integrados o debo escribir mi propia función? ¿Y qué hacer con diferentes formatos, por ejemplo, para el formato internacional "2023-05-12" o para mostrar la hora "14:30:05"?
Agradecería ejemplos de código y una explicación de cómo funciona. ¡Gracias de antemano!