Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2008 erzwingt das Datum von TT/MM/JJJJ auf MM/TT/JJJJ

SQL Server ist die Datenschicht und als solches ist keine Formatierung verfügbar; Es speichert ein Datum als 4-Byte-Zahl, die relativ zu Tagen ist, wobei 0 =01.01.1900 ist.

Die Anwendungsschicht DateTime Typ ist im Allgemeinen ein ODBC Canonical Darstellung, die im Grunde wie eine Klasse mit ganzzahligen Eigenschaften für jede Komponente aussieht (Jahr, Monat, Datum, Stunden, Minuten, Sekunden, Millisekunden).

Die Präsentationsebene ist das, was Sie tatsächlich sehen, und darum sollten Sie sich Sorgen machen. Wenn Ihre Anwendung ToShortDateString() aufruft -Methode ruft sie das Anzeigeformat aus der aktuellen Kultur des Threads auf, die möglicherweise die Systemeinstellungen für Region &Sprache widerspiegelt oder nicht oder Datum &Uhrzeit .

Lösung Nummer eins besteht darin, die aktuelle Kultur des Threads festzulegen, aber dies würde nur zur Standardanzeige dieser bestimmten Kultur gehen

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

Lösung Nummer 2 besteht darin, einfach eine benutzerdefinierte DateTime-Formatzeichenfolge zu verwenden

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