2013-01-16 20 views
12

ho un appuntamento rappresentato come una stringa cosìDateTime.Parse formato della data

20130116154407 

ho chiamato DateTime.Parse su questo, ma non è riuscito. Come posso convertirlo in un DateTime? Per inciso, il fuso orario è CET.

EDIT

Le soluzioni fornite sono molto utili, finora, ma sembra che non supportano gli orologi di 24 ore, ancora alla ricerca di una soluzione che fa.

EDIT 2

Il formato corretto è

DateTime.ParseExact(str, "yyyyMMddHHmmss", CultureInfo.InvariantCulture) 

Grazie,

Sachin

+1

Quale lingua? –

+0

Ho aggiornato i tag. –

risposta

15

È necessario specificare un formato:

DateTime.ParseExact(str, "yyyyMMddHHmmss", CultureInfo.InvariantCulture) 
+0

Ricevo ancora l'errore "La stringa non è stata riconosciuta come un DateTime valido." –

4

Usa questo codice

string DATE_FORMAT= "yyyyMMddhhmmss"; 

DateTime date; 
if(DateTime.TryParseExact(str, DATE_FORMAT, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out date)) 
{ 
//success 
//you can use date 
}else 
{ 
//fail 
} 
2

Prova DateTime.ParseExact

var dt = DateTime.ParseExact("20130116154407", "yyyyMMddhhmmss", CultureInfo.InvariantCulture);