Pergunta

Eu tenho uma configuração função agradável para formatação de datas conforme Leading Zero Data Format C #

Mas acontece na nossa fazenda temos algumas lâminas em execução em um locale Reino Unido e alguns em uma localidade dos EUA assim dependendo de qual deixa de funcionar.

Então o que eu estou atrás é como faço para testar o local servidor atual?

Algo como ...

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

}
else
{

..otherstatement
}

Ta

Foi útil?

Solução

Você deve passar na cultura desejada para todas as suas funções de formatação (InvariantCulture, geralmente).

Como alternativa, você pode set a cultura na página como assim . Esse código também pode ir na substituição de aplicativos BeginRequest em seu arquivo asax.cs para afetar todas as páginas.

Outras dicas

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

Geralmente nós ir com UTC em vez de código específico localidade.

Os testes para CurrentCulture é a única maneira de conseguir o que você pedir, tanto quanto eu sei. No entanto, gostaria de sugerir fortemente para manter datas como DateTime até que estejam a ser apresentado na interface do usuário, e não ter se-declarações na funcionalidade servidor que está contando com formatos de data.

Normalmente, eu tento aplicar formatação de data o mais próximo do usuário quanto possível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top