2017-01-05 5 views
-1

Ich versuche, einige Daten aus einer Datenbank zu laden, aber ich möchte nicht ein Datetime-Objekt mit der Zeit erstellen, ich will nur das Datum. Ich habe versucht mit var date = value.Date; es funktioniert nicht. Ich habe viele Methoden gesehen, die das Datum formatieren, um es als String darzustellen, und das möchte ich nicht, denn dann muss ich alle Daten manuell in das Grid laden. Ich hoffe, dass mir jemand helfen kann. Hier ist der CodeC# Erstellen von Datetime-Objekt ohne Zeit

DateTime startDate = (DateTime)row["Course_StartDate"]; 
DateTime endDate = (DateTime)row["Course_EndDate"]; 
+1

Die 'DateTime' Klasse eine Zeiteigenschaft hat. Es gibt keine Möglichkeit, das zu ändern. –

+3

Es heißt 'DateTime', weil es immer ein Datum und eine Uhrzeit hat. Verwenden Sie 'startDate.Date', um nur mit dem Datum zu arbeiten. Je nachdem, was das Raster ist, können Sie möglicherweise auch einen Anzeigestil eingeben. – Plutonix

+0

Das war, wovor ich Angst hatte ... Also muss ich es manuell machen? – zomlaaa95

Antwort

3

Haben Sie eine der Funktionalität von Datetime verwenden müssen, wie Daten zu vergleichen oder das Hinzufügen/Tage von einem Datum subtrahieren? Wenn nicht, können Sie wahrscheinlich machen nur Ihre Variablen Strings statt Datetime:

string startDate = ((DateTime)row["Course_StartDate"]).ToShortDateString(); 
string endDate = ((DateTime)row["Course_EndDate"]).ToShortDateString(); 

Edit: Da Sie mal vergleichen brauchen Sie eine zweite Eigenschaft verwenden könnte, die den Gegenwert zurückgibt, wie Sie es brauchen:

DateTime startDate = new DateTime(); 
DateTime endDate = new DateTime(); 
string startDateString 
{ 
    get 
    { 
     return startDate.ToShortDateString(); 
    } 
} 
string endDateString 
{ 
    get 
    { 
     return endDate.ToShortDateString(); 
    } 
} 

private void LoadMethod() 
{ 
    startDate = (DateTime)row["Course_StartDate"]; 
    endDate = (DateTime)row["Course_EndDate"]; 
} 

Dann können Sie Ihre Mathematik mit den DateTime-Objekten tun, und verwenden Sie die String-Objekte in Ihrer Tabelle.

+0

ich brauche Vergleich, so kann ich es nicht als Zeichenfolge festlegen – zomlaaa95

1

Wenn Sie Datagridview sprechen, ändern Sie das Spaltenformat (Default> Format) zu MM/tt/

Verwandte Themen