Pergunta

Por alguma razão, o código ASP.NET no meu servidor está retornando agora um formato de dd / mm / aaaa em vez de MM / DD / AAAA quando eu uso < strong> DateTime.ToString ( "g") .

Ao invés de substituir todos os "g" seqüências de formato com uma seqüência de formato concreto ou argumento CultureInfo, há uma maneira eu posso simplesmente substituir, através da aplicação, o padrão de formato "data curta"?

A minha preferência é realmente "AAAA-MM-DD" como o formato padrão, mas eu posso viver com a MM centrado nos EUA / dd / aaaa, como todos os usuários estão nos EUA.

Esclarecimento:. Eu não quero mudar toda a cultura padrão, o que poderia impactar coisas como moeda e uso de decimais / vírgulas na formatação de números

Eu só quero substituir qualquer ToString ( "g") chamada para usar o formato de data 8824 ISO / IEC ( "AAAA-MM-DD").

Eu poderia procurar e substituir em todo o meu código para forçar um CultureInfo em cada ToString () chamada, mas isso não me parece a solução mais sustentável.

Minha solução atual é que eu defini um método estático para formatar uma data, e eu chamá-lo, em vez de ToString () em toda a minha base de código. Mas, novamente, se eu esquecer de fazê-lo em algum lugar no código, eu vou ter uma data pateta novamente.

Foi útil?

Solução 2

Como definir a cultura não era uma opção, nem foi, dependendo das configurações regionais do servidor.

acabei escrevendo uma função de utilidade para a formatação de datas:

Public Shared Function FormatShortDate(ByVal d As Date) As String
    If d=#1/1/0001# Then Return ""
    If d=#1/1/1900# Then Return ""
    'ISO/IEC 8824 date format
    Return d.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)
End Function

Eu chamo isso em todos os lugares que eu preciso para empurrar uma data para o usuário. Ele também lida com exibição de inadimplência ( "mágicos") datas.

Eu escrevi algumas funções similares para e FormatShortDateTime e FormatLongDateTime.

Outras dicas

Você pode definir a cultura padrão no web.config (nível de aplicação), a Directiva página ou diretiva de controle.

Eu tenho vários aplicativos onde as páginas mestras são criados para diferentes culturas, e as páginas e controles herdar de lá.

Você pode manipular o formato de data curto alterando a configuração nas configurações regionais no painel de controle no servidor.

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