Pregunta

Tengo una configuración buena función para formatear fechas según Cero a Formato de fecha C #

Pero resulta que en nuestra granja tenemos unas cuchillas que se ejecutan en un entorno nacional del Reino Unido y algunos en un local de Estados Unidos lo que dependiendo de lo que se bloquea.

Así que lo que busco es cómo puedo probar la configuración regional actual del servidor?

Algo así como ...

if(Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName == "GB"){
...

}
else
{

..otherstatement
}

Ta

¿Fue útil?

Solución

Se debe pasar de la cultura deseada de todas sus funciones de formato (InvariantCulture, por lo general).

Como alternativa, puede set la cultura en la página igual que . Ese código también podría ir en la anulación de aplicación BeginRequest en su archivo asax.cs con el fin de afectar a todas las páginas.

Otros consejos

Date now = DateTime.Now;
CultureInfo ci = Thread.CurrentThread.CurrentCulture;
Console.WriteLine(now.ToString("d", ci));

Por lo general, vamos con UTC en lugar de código específico de la configuración regional.

Las pruebas para CurrentCulture es la única manera de lograr lo que se pide, por lo que yo sé. Sin embargo, me gustaría sugerir fuertemente para mantener las fechas como DateTime hasta que se presentarán en la interfaz de usuario, y no tener sentencias if en la funcionalidad de servidor que se basa en los formatos de fecha.

Por lo general tratan de aplicar el formato fecha tan cerca del usuario como sea posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top