2010-12-05 11 views
8

Ich habe Datum und Uhrzeit in meiner Datenbank gespeichert und ich möchte nicht beide anzeigen, nur das Datum selbst. Wenn ich das Datum/die Uhrzeit in einer Variablen speichere, wie gebe ich nur das Datum in C# aus?Entfernen Sie Zeit von einem Datum/Uhrzeit-String

+0

Sie haben nicht angegeben, ob Sie das Datum für einen Benutzer anzeigen oder ob es für eine Art von Austausch in eine Zeichenfolge konvertiert wird. Die Antwort wird je nach Antwort unterschiedlich sein. –

+0

Es war eine naive Frage, die vor einiger Zeit gestellt wurde, und ich stimme zu, dass es nicht sehr klar ist, was meine Absicht war. Ich glaube zu dieser Zeit war ich auf der Suche nach einem String Formatierer für das Datum. –

Antwort

4

Es Art hängt, wo Sie es schreiben. Der Formatspezifizierer ist entweder "{0: d}" oder "{0: D}". Aber es hängt davon ab, ob Sie ToString(), ToShortDateString(), ToLongDateString(), irgendeine Art von Gittersteuerung oder etwas anderes verwenden.

9
DateTime dt = DateTime.Now; 
...=dt.ToLongDateString(); 
...=dt.ToShortDateString(); 
+1

+1 Ich würde dies über die akzeptierte Antwort bevorzugen, da dies die aktuellen Kultureinstellungen verwendet. – Doggett

+0

die Antwort, die ich suchte, war: {0: MM/TT/JJ}, –

+0

+1 auch für die Verwendung der aktuellen Kultureinstellungen –

9

Wenn Sie nur den Datumsteil eines System.DateTime Struktur wollen, können Sie die Date Eigenschaft (System.DateTime.Date). Es streift Stunden, Minuten, Sekunden und Millisekunden ab.

Wenn Ihr Datenbankspalten-Datentyp also als datetime oder ähnlich definiert ist (was die allgemeine Empfehlung ist, wenn Ihre Datenbank dies unterstützt), müssen Sie keine String- und String-Formate verwenden.

1

Verwenden Sie die mitgelieferte Methode ToShortDateString().

z. dateToDisplay.ToShortDateString()

Beispiel

using System; 
using System.Globalization; 
using System.Threading; 

public class Example 
{ 
    public static void Main() 
    { 
     DateTime dateToDisplay = new DateTime(2009, 6, 1, 8, 42, 50); 
     CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture; 
     // Change culture to en-US. 
     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 
     Console.WriteLine("Displaying short date for {0} culture:", 
         Thread.CurrentThread.CurrentCulture.Name); 
     Console.WriteLine(" {0} (Short Date String)", 
         dateToDisplay.ToShortDateString()); 
     // Display using 'd' standard format specifier to illustrate it is 
     // identical to the string returned by ToShortDateString. 
     Console.WriteLine(" {0} ('d' standard format specifier)", 
         dateToDisplay.ToString("d")); 
     Console.WriteLine(); 

     // Change culture to fr-FR. 
     Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR"); 
     Console.WriteLine("Displaying short date for {0} culture:", 
         Thread.CurrentThread.CurrentCulture.Name); 
     Console.WriteLine(" {0}", dateToDisplay.ToShortDateString()); 
     Console.WriteLine(); 

     // Change culture to nl-NL.  
     Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-NL"); 
     Console.WriteLine("Displaying short date for {0} culture:", 
         Thread.CurrentThread.CurrentCulture.Name); 
     Console.WriteLine(" {0}", dateToDisplay.ToShortDateString()); 

     // Restore original culture. 
     Thread.CurrentThread.CurrentCulture = originalCulture; 
    } 
} 
// The example displays the following output: 
//  Displaying short date for en-US culture: 
//   6/1/2009 (Short Date String) 
//   6/1/2009 ('d' standard format specifier) 
//  
//  Displaying short date for fr-FR culture: 
//   01/06/2009 
//  
//  Displaying short date for nl-NL culture: 
//   1-6-2009 
1

Ich gehe davon aus, dass Sie eine Variable vom Typ DateTime haben.

Wenn Sie es in eine Zeichenfolge konvertieren möchten, verwenden Sie:

dtVar.ToShortDateString(); 

Wenn Sie ein Format Info benötigen für die eine .NET-Steuer sagen lassen (wie ein Datagrid), zu verwenden:

DataFormatString="{0:d}" 

Beide entfernen den Zeitabschnitt der DateTime-Daten und verwenden die aktuelle Kultur Einstellung.

Verwandte Themen