Come posso convertire String come 20100102 in datetime in un formato di gg/MM/aaaa?Converti stringa in data/ora utilizzando C#
risposta
var userdateformat = DateTime.ParseExact("20101020", "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
Modificare come si desidera modificare.
È possibile utilizzare il metodo DateTime.ParseExact
string strStartDateMain = "20100102";
string strStartDateFinal = new DateTime(Convert.ToInt32strStartDateMain.Substring(0, 4)), Convert.ToInt32(strStartDateMain.Substring(4, 2)), Convert.ToInt32(strStartDateMain.Substring(6))).ToString("dd/MM/yyyy");
Ho ottenuto questa risposta facendo R & S su quell'argomento. Qui Se abbiamo una stringa come "20100102", allora possiamo ottenere output come "02/01/2010" – Ashish
Bah, questo non è davvero il modo di farlo. – Noldorin
Analisi personalizzata della data FTL. Non reinventare la ruota. – Aaronaught
IFormatProvider culture = new CultureInfo("en-EN", false); // use your culture info
DateTime dt = DateTime.ParseExact(myDateTimeString, "yyyyMMdd", culture, DateTimeStyles.NoCurrentDateDefault);
aaaaMMgg è formato di input qui.
E poi se si desidera convertire in stringa:
String output = String.Format("{0:dd/MM/yyyy}", dt);
A destra - eccetto che probabilmente ha senso utilizzare "CultureInfo.CurrentCulture" o "CultureInfo.InvariantCulture" che dipendono dallo scenario. – Noldorin
Ho cambiato l'override dell'utente in falso. Quindi ora usa l'impostazione predefinita. Ma non causerà alcun problema qui, anche se ha la precedenza. O mi sbaglio? – JCasso
var result = DateTime.ParseExact("20100102", "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
Modifica come necessario.
Grazie, mi aiuta molto. –