Problema de Culturas en la .Net Framework

Hoy es de esos dias cuando uno se topa con cosas que solo le queda decir “w00t”… Pasé durante un buen tiempo peleando con un formato de fecha en un asp.net website. Como algunos sabran ya de antemano, una forma de obligar al website de asp.net a comportarse de una manera específica es agregando esto al web.config:

<system.web>
    <globalization culture="es-PA" />
</system.web>

El parámetro de culture debe ser una “full qualified culture name” o sea, no sólo el idioma sino el carácter regional (en este caso en específico español-Panamá, mi país de origen). Debido a que el proyecto que estoy trabajando es específicamente para ese país, no consideré ningun problema al agregarle la especificidad de cultura.

Luego de revisar todo, me doy cuenta que el formato de fecha corta no se presenta como es de esperar, yo esperaba dd/mm/yyyy y obtenía mm/dd/yyyyy (como el formato de fecha anglosajona). Al revisar las opciones regionales de mi sistema operativo (y de varias máquinas alrededor) me doy cuenta que la Framework correctamente esta proyectando la regionalización para es-PA, eso implica dos cosas:

  • O viví y crecí en Panamá durante más de 19 años y JAMAS los panameños escribimos bien la fecha
  • O Windows XP en adelante, alguien en Microsoft decidió que Panamá tendría un formato de fecha diferente al que los panameños acostumbramos a usar.

Los dolores de cabeza con que uno se topa verdad?