sql >> Base de Datos >  >> RDS >> Sqlserver

Servidor Sql 2008 forzando la fecha de dd/MM/aaaa a MM/dd/aaaa

SQL Server es la capa de datos y como tal no hay formato disponible; almacena una fecha como un número de 4 bytes relativo a días con 0 =01/01/1900.

La capa de aplicación DateTime el tipo es generalmente un ODBC Canonical representación que básicamente parece una clase con propiedades enteras para cada componente (año, mes, fecha, horas, minutos, segundos, milisegundos).

La capa de presentación es lo que realmente ves, y eso es lo que debería preocuparte. Cuando su aplicación llama al ToShortDateString() método, está llamando al formato de visualización de la cultura actual del hilo, que puede o no reflejar la configuración del sistema para Región e idioma o Fecha y hora .

La solución número uno es establecer la cultura actual de los subprocesos, pero esto solo iría a la visualización estándar de esa cultura en particular

Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");

La solución número 2 es simplemente usar una cadena de formato DateTime personalizada

lbldate.Text = DateTime.Today.ToString("dd/MM/yyyy");