sql >> Databasteknik >  >> RDS >> Sqlserver

SQL-server 2008 tvingar fram datum från dd/MM/åååå till MM/dd/åååå

SQL Server är Datalagret och som sådan finns det ingen formatering tillgänglig; den lagrar ett datum som ett 4-bytetal som är relativt dagar med 0 =01/01/1900.

Applikationsskiktet DateTime typ är i allmänhet en ODBC Canonical representation som i princip ser ut som en klass med heltalsegenskaper för varje komponent (år, månad, datum, timmar, minuter, sekunder, millisekunder).

Presentationsskiktet är vad du faktiskt ser, och det är där du bör oroa dig. När din applikation anropar ToShortDateString() metoden, anropar den visningsformatet från trådarna aktuell kultur, som kanske eller kanske inte återspeglar systeminställningarna för Region &Språk eller Datum och tid .

Lösning nummer ett är att ställa in trådarnas nuvarande kultur, men detta skulle bara gå till just den kulturens standardvisning

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

Lösning nummer 2 är att bara använda en anpassad DateTime-formatsträng

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


  1. Hur lovar man en MySql-funktion med bluebird?

  2. Formatera siffror genom att fylla med inledande nollor i SQL Server

  3. Använd OBJECTPROPERTY() för att ta reda på om ett objekt är en CHECK-begränsning i SQL Server

  4. Hur subtraherar man inventering och försäljning med mysql subquery?