I'm having a problem when I deploy my web application in different servers. There seems to be an inconsistency in some DateTimeFormat
patterns, like ShortDatePattern
, using the same culture (pt-BR).
In my development machine (Windows 7, .NET 4 installed, application targeting .NET 3.5) and a Windows Server 2008 R2 (with the application targeting .NET 4) server the ShortDatePattern is "dd/MM/yyyy"
- which is the correct, I guess.
In the production server (Windows Server 2003, using .NET 3.5) it is "d/M/yyyy"
. It is causing me tons of trouble.
I could solve the issue by setting the patterns by hand, but I'd really like to avoid doing this every time I need to output a date. Specially since this will be non-trivial in many places (like where I use MVC's Html.TextBoxFor) and will require a good amount of rewriting.
If there's a way of changing the patterns for the entire web application in one place it would be great. I've tried the following approach in the Global.asax.cs
file, with no success:
CultureInfo info = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString());
info.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
System.Threading.Thread.CurrentThread.CurrentCulture = info;
Any ideas?
Thank you.