Echo de menos la BCL: formato y parsing de fechas en Javascript

Hay cosas de Javascript que me enfadan a las que no estoy acostumbrado. Cosas que doy por sentadas en otras plataformas y que, cuando llego al mundo de Javascript, no existen. Al final todo se puede solucionar, pero no deja de resultarme incómodo en algunos momentos.

Conversiones de fechas a string y viceversa

Formatear fechas (y datos en general) en javascript no es fácil. Los métodos que existen por defecto están muy limitados, nada que ver con las variedad de formatos que encontramos en .NET, tanto predefinidos como personalizables.

La parte positiva es que es fácil encontrar librerías para ello, algunas muy ligeras, como date.format.js, y otras más completas, como datejs.

Al parsear strings para convertirlos en fechas tenemos un problema similar, que se hace especialmente patente al recibir datos serializados en JSON desde un servidor. No todos los navegadores soportan los mismos formatos a la hora de realizar la conversión.

Por ejemplo, Firefox y Chrome manejan sin problemas fechas en formato ISO 8601, tal y como define el estándar ECMAScript 5, pero Explorer 9 no es capaz de parsear la cadena si incluye la zona horaria y Safari ni siquiera sin la zona horaria es capaz de parsearla.

Al final no queda más remedio que cambiar la forma en que se envían las fechas en el servidor, lo que no siempre es posible, o realizar el parsing a mano en el cliente, cosa que es relativamente fácil si sabemos de antemano el formato a parsear, pero que no deja de ser un fastidio.

Y por otra parte está el tema de la globalización/localización, que es una bestia completamente distinta y que puede ser atacada con herramientas como el plugin Globalize para jquery.

Conclusión

Una cosa que me atrajo desde el primer momento de Javascript (y que pasa con otros lenguajes de filosofía similar) es que, a diferencia de .NET o Java, en lugar de tener un framework muy completo y pesado, existen multitud de pequeñas librerías especializadas que puedes componer cómo necesites, haciendo además que cada librería sea más fácil de entender y modificar por tratarse de unidades de menor tamaño.

Sin embargo, tengo que reconocer que a veces echo de menos el abrigo protector de la BCL de .NET con sus mil clases y utilidades para casi todo a las que recurrir sin tener que pasar un buen rato buscando en Google cual es la mejor forma de formatear una fecha.

Un comentario en “Echo de menos la BCL: formato y parsing de fechas en Javascript

Comentarios cerrados.