2 Stimmen

Datumsformatkonvertierung

Ich habe ein Datum wie

string date = calarc.SelectedDate.ToString("MM/dd/yyyy");

wobei calarc die Kalandersteuerung ist.

Es gibt ein Datum im Format 14.03.2009 zurück, aber ich möchte es im Format 14.03.2009.

Und wie mache ich das?

4voto

Sergej Andrejev Punkte 8801

Ich glaube, Ihre derzeitige Kultur bringt das Format durcheinander. Versuchen Sie

DateTime.Parse("2009-03-14").ToString(@"MM/dd/yyyy", CultureInfo.InvariantCulture)

Wie es scheint, ist "/" in Wirklichkeit eine Syntax für Trennzeichen (ähnlich wie M, d, y oder andere). Deshalb wird es durch das in der Kultur angegebene Trennzeichen ersetzt. Dies ist vermerkt in Dokumentation zu.

Wenn das benutzerdefinierte Muster die Option Formatierungsmuster "/" enthält, zeigt DateTime.ToString den Wert von DateSeparator anstelle des anstelle des "/" im Format Muster.

1voto

Guffa Punkte 663241

Das Zeichen / im Formatbezeichner bewirkt nicht das, was Sie denken. Es ist kein wörtliches Zeichen, das in die Zeichenkette kopiert wird, sondern ein Bezeichner für das Datumstrennzeichen, das in der aktuellen Kultur das Zeichen - ist.

Um wörtliche Zeichen im Format zu verwenden, setzen Sie einfach Apostrophe um sie herum:

string date = calarc.SelectedDate.ToString("MM'/'dd'/'yyyy");

0voto

Kunal S Punkte 97

Ungeprüfte Codezeile -

string.Format("mm-dd-yyyy", calarc.SelectedDate);

0voto

Martin Clarke Punkte 5520
string.Format("{0:MM/dd/yyyy}",calarc.SelectedDate);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X