2016-06-11 5 views
0

Ich habe ein Textfeld in meinem Projekt, in dem Benutzer Datum eingeben, wie ddmmyyyy. Ich muss es in dd-mm-yyyy Format konvertieren, so dass ich bestimmte Daten aus der Datenbank abrufen konnte.Wie konvertiert man Textboxwert ddmmyyyy in TT-MM-JJJJ?

+0

Wirklich ein Datetime im String-Format mit schlecht ist. Verwenden Sie ein beliebiges Datumauswahlsteuerelement, das Datetime vom Benutzer abrufen und als UTC beibehalten kann. –

Antwort

1

Sie können Ihre string-DateTime zuerst analysieren und dann erzeugen sie String-Darstellung mit dass Format ist.

Zum Beispiel;

var s = "11062016"; 
var dt = DateTime.ParseExact(s, "ddMMyyyy", CultureInfo.InvariantCulture); 
Console.WriteLine(dt.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture)); 

By the way, ich du sagen willst MM nehmen statt mm seit mm Zeichen für Minuten ist aber MM Spezifizierer ist für Monate.

Auf der anderen Seite haben Sie nie die Daten angegeben, die Sie abrufen möchten, aber es ist keine gute Idee, DateTime Werte (wenn sie sind) mit Strings zu erhalten. Verwenden Sie DateTime-Werte, um DateTime-Daten aus Ihrer Datenbank (die meisten von RDMS unterstützen) und keine Zeichenfolgen zu erhalten.

0

Versuchen

string str = "06112016"; 
DateTime date = new DateTime(); 
DateTime.TryParseExact(str, "ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out date); 
string FormattedDate = date.ToString("MM-dd-yyyy"); 
Verwandte Themen