Estoy ejecutando una aplicación web .NET 5 MVC a través de IIS tanto en mi máquina local como en un servidor remoto.
He notado un error extraño en el que la configuración local de la computadora parece afectar el resultado de la clase CultureInfo
En Windows 10, si abro Settings > Time & Language > Region y hago clic en Change data formats para que mi tiempo breve sea de 24 horas, es decir, 13:40 frente a 1:40 p. m., el resultado de CultureInfo también cambiará. Siempre supuse que cambiar la configuración de mi computadora no debería afectar las culturas integradas de .NET, y que deberían ser iguales sin importar en qué computadora se ejecuta el código, así que:
CultureInfo.CreateSpecificCulture("en-US"); Debería devolver el mismo objeto CultureInfo sin importar en qué computadora se esté ejecutando el código o qué configuración de fecha y hora decida usar el usuario.
Inicialmente me pregunté si tal vez estaba usando mal la clase CultureInfo , así que también probé:
new CultureInfo("en-US");Pero los resultados fueron los mismos.
¿Hay alguna forma de decirle a la clase CultureInfo que use los valores predeterminados para la cultura y no la configuración que tengo actualmente en mi computadora?
var culture = new CultureInfo("en-US", false);El segundo parámetro del constructor (useUserOverride) significa exactamente eso.