2010-07-30 13 views
11

Ho un grande set (100+ milioni) di osservazioni con la data rappresentata come un formato di stringa personalizzato. Non abbiamo generato le stringhe della data, ho solo bisogno di convertire la stringa della data in un tipo datetime.Conversione di un formato di data personalizzato (stringa) a un valore di data

Come si converte una data di stringa (ad esempio 12 JUN 2010) in un datetime? I miei pensieri sono di analizzare la stringa in componenti, assemblarli nell'ordine corretto e passare quella stringa al costruttore di datetime. C'è un modo per passare datetime() una stringa di formato data personalizzata invece?

Grazie!

risposta

22

Dai uno sguardo allo DateTime.ParseExact, ad es.

var dateTime = DateTime.ParseExact(
    "12 JUN 2010", 
    "dd MMM yyyy", 
    CultureInfo.InvariantCulture); 

è anche possibile specificare un quarto parametro per impostare la Kind di data/ora, ad esempio, se sono data UTC/volte allora si sarebbe probabilmente desidera specificare DateTimeStyles.AssumeUniversal.

+0

Ho appena imparato qualcosa di nuovo, +1 –

+3

+1, ho appena imparato due nuove cose, una di queste è Jimmy Hoffa, è vivo e vegeto – LittleBobbyTables

0

quella stringa DateTime è valida per DateTime.Parse() (o .TryParse())

Per quanto riguarda una stringa realmente personalizzata che .Parse() non può gestire, si sono probabilmente corrette, avresti bisogno di tirare la stringa a parte e riassemblalo in modo utile.

Problemi correlati