2010-07-30 21 views
11

Tengo un conjunto grande (más de 100 millones) de observaciones con la fecha representada como un formato de cadena personalizado. No generamos las cadenas de fecha, solo necesito convertir la cadena de fecha a un tipo de fecha y hora.Conversión de un formato de fecha personalizado (cadena) a una fecha y hora

¿Cómo convierto una fecha de serie (por ejemplo, 12 JUN 2010) en una fecha y hora? Mis pensamientos son analizar la cadena en componentes, ensamblarlos en el orden correcto y pasar esa cadena al constructor de datetime. ¿Hay alguna manera de pasar datetime() una cadena de formato de fecha personalizada en su lugar?

Gracias!

Respuesta

22

Eche un vistazo a DateTime.ParseExact, p.

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

También puede especificar un cuarto parámetro para establecer el Kind de fecha/hora, por ejemplo, si son fecha UTC/tiempos Entonces será probable es que desee especificar DateTimeStyles.AssumeUniversal.

+0

Acabo de aprender algo nuevo, +1 –

+3

+1, Acabo de aprender dos cosas nuevas, una de ellas es que Jimmy Hoffa está vivo y bien – LittleBobbyTables

0

Esa cadena DateTime es válida para DateTime.Parse() (o .TryParse())

En cuanto a una cadena verdaderamente de encargo que .Parse() no puede manejar, usted es probablemente correcta, que había necesidad de tirar de la cadena y aparte vuelva a armarlo de manera útil.

Cuestiones relacionadas