c# - ¿Cómo cambiar las fechas en-US a en-GB para asp.net?
iis datetime-format (2)
en una máquina reveladora (cassini)
new DateTime(2012,3,14).ToString("d")
resultados en
14/03/2012
que es correcto, pero cuando se implementa en un servidor IIS completo, el resultado es
03/14/2012
El servidor está configurado en el panel de control / idioma de la región en todos los idiomas inglés / Reino Unido / GB, la fecha de ejecución en el símbolo del sistema devuelve el formato dd / MM / YYYY.
El sitio está configurado para uiCulture="en-GB"
y culture="en-GB"
y se muestran en la etiqueta de globalización web.config.
Puedo solucionar este problema agregando una cultura forzada
new DateTime(2012,3,14).ToString("d", new CultureInfo("en-GB"));
pero realmente me gustaría saber qué está configurando el formato incorrectamente.
CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name
ambos devuelven en-US
- en-US :
M/d/yyyy
(p. ej., 3/14/2012) - en-GB :
dd/MM/yyyy
(por ejemplo, 14/03/2012)
Valor real en web.config
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="en-GB" culture="en-GB" />
En su web.config
añadir
<globalization culture=''auto'' uiCulture=''auto'' />
y luego, asumiendo que el navegador está configurado correctamente para pasar la configuración regional preferida, el subproceso de trabajo que procesa la solicitud tendrá su CurrentCulture
y CurrentUICulture
configurados correctamente.
Cualquier operación dependiente de la configuración regional (incluyendo cosas como el formato DateTime
d
) utilizará la preferencia del cliente.
Elemento de globalización de web.config en MSDN: https://msdn.microsoft.com/en-us/library/ydkak5b9(v=vs.71).aspx
Me las arreglé para que funcionara poniendo esto en el web.config
<globalization culture="en-GB"/>