Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Sql server 2008 forçando a data de dd/MM/aaaa para MM/dd/aaaa


SQL Server é a camada de dados e como tal não há formatação disponível; ele armazena uma data como um número de 4 bytes que é relativo a dias com 0 =01/01/1900.

A camada de aplicativo DateTime tipo é geralmente um ODBC Canonical representação que basicamente se parece com uma classe com propriedades inteiras para cada componente (ano, mês, data, horas, minutos, segundos, milissegundos).

A camada de apresentação é o que você realmente vê, e é aí que você deve se preocupar. Quando seu aplicativo chama o ToShortDateString() método, ele está chamando o formato de exibição da cultura atual dos threads, que pode ou não refletir as configurações do sistema para Região e idioma ou Data e hora .

A solução número um é definir a cultura atual dos threads, mas isso iria apenas para a exibição padrão de culturas específicas
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");

A solução número 2 é usar apenas uma string de formato DateTime personalizada
lbldate.Text = DateTime.Today.ToString("dd/MM/yyyy");