2012-09-08 8 views
8

Ho bisogno di convertire "28/08/2012" in formato MM/dd/YYYY che significa "28/08/2012".
Come posso farlo?Converti dd/MM/aaaa a MM/gg/aaaa

Sto usando sotto il codice, ma ha gettato un'eccezione per me.

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

risposta

23

ma ha gettato un'eccezione per me

Problema:

La tua data contiene / separatore ("28/08/2012") e non si stanno dando che la data di formato stringa ("ddMMyyyy").

Soluzione:

Dovrebbe essere "dd/MM/yyyy".

In questo modo

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

Dopo aver fatto che riceveremo un oggetto DateTime con le date popolate che viene trasferito stringa utilizzando .ToString() con il formato data desiderata "MM/dd/yyyy" e informazioni cultura opzionale CultureInfo.InvariantCulture.

+0

voglio retrivr formato String –

+0

Sì questo è ciò che questo farà. Prima convertirà questo in DateTime e poi di nuovo nella stringa –

+0

@LajjaThaker: Leggi la risposta aggiornata. –

0

Poiché la data originale è in en-GB cultura, è possibile creare un oggetto CultureInfo e analizzare il proprio DateTime in modo naturale.

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");