2012-09-08 3 views
8

Ich muss "28/08/2012" in MM/dd/YYYY Format konvertieren, das bedeutet "28.08.2012".
Wie kann ich das tun?Konvertieren von TT/MM/JJJJ in MM/TT/JJJJ

Ich benutze unten Code, aber es war eine Ausnahme für mich.

DateTime.ParseExact("28/08/2012", "ddMMyyyy", CultureInfo.InvariantCulture) 

Antwort

23

aber es warf Ausnahme mir

Problem:

Ihr Datum enthält / seperator ("28/08/2012") und Sie geben nicht, dass in Ihrem Datum String-Format ("ddMMyyyy").

Lösung:

Es sollte "dd/MM/yyyy" sein.

Auf diese Weise

DateTime.ParseExact("28/08/2012", "dd/MM/yyyy", CultureInfo.InvariantCulture) 
         .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 

Nachdem ich, dass wir ein Datetime-Objekt mit bevölkerten Daten erhalten, die auf String übertragen wird unter Verwendung von .ToString() mit gewünschtem Datumsformat "MM/dd/yyyy" und optional Kultur Info CultureInfo.InvariantCulture.

+0

I-Format in String retrívr wollen –

+0

Ja, das ist es, was dies tun wird. Zuerst konvertiert es dies in DateTime und dann zurück in den String –

+0

@LajjaThaker: Lesen Sie die aktualisierte Antwort. –

0

Da Ihr ursprüngliches Datum in en-GB Kultur ist, können Sie ein CultureInfo Objekt erstellen und Ihre DateTime natürlich analysieren.

string date = "28/08/2012"; 
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB"); 
Convert.ToDateTime(date,ci.DateTimeFormat).ToString("d");//short date pattern 

(OR)

DateTime.Parse(date,ci.DateTimeFormat).ToString("d");