Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET Application is displaying american date formats

One of my development applications has today started displaying American formatted short dates where I am expecting British formatting.

The dates are being rendered using date.ToShortDateString()

I have already checked my Regional settings, keyboard settings, browser settings and web.config. These are all set to English (UK) or not changed. I've also rebooted a number of times.

A mobile version of the same application, running from the same development server, and same website (different web application) is working correctly.

Environment:

  • Windows 7 64 Bit
  • Visual Studio 2010 Professional
  • IIS 7.5

Where else can Regional Settings be changed that might influence display of dates?

like image 461
Mark Cooper Avatar asked Nov 30 '25 02:11

Mark Cooper


1 Answers

The windows regional settings does not affect any website, unless the website is programmed to get the regional settings from the browser preferred languages and apply them to the ASP site

Use the globalization option in the web.config

<globalization culture="es-AR" uiCulture="es" />

OR

Set the value in the global.aspx Application_BeginRequest method

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    Dim lang As String = "es"
    If HttpContext.Current.Request.Path.Contains("/en/") Then
        lang = "en"
    ElseIf HttpContext.Current.Request.Path.Contains("/pt/") Then
        lang = "pt"
    ElseIf HttpContext.Current.Request.Path.Contains("/es/") Then
        lang = "es"
    End If
    Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang)
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)
End Sub
like image 106
Eduardo Molteni Avatar answered Dec 02 '25 16:12

Eduardo Molteni