2012-07-06 38 views
5

¿Cómo convierto una marca de tiempo devuelta de DB2 ISeries a DateTime datatype en C#?Cómo convertir la marca de tiempo de DB2 a datetime?

2012-07-06 09:52:50.926145 

Esto no funcionó para mí

myEmployee.LastModified = Convert.ToDateTime(myRecord.GetString(myRecord.GetOrdinal("LASTMODIFIED"))); 

Respuesta

5

DateTime.Parse?

DateTime result = DateTime.Parse("2012-07-06 09:52:50.926145"); 

It works, really.

+0

Gracias por su respuesta miniTech. Parece que GetString dentro de C# es el problema. Me está devolviendo 2012-07-06-09: 52: 50.926145 por alguna razón extraña.Observe el extra '-' –

+4

@DamienJoe: Luego use 'DateTime.ParseExact (" 2012-07-06-09: 52: 50.926145 " , "aaaa-MM-dd-HH: mm: ss.FFFFFF", nulo) '. [Aquí hay una demostración.] (Http://ideone.com/AExyK) – Ryan

+0

¡Excelente solución! Pulgares arriba para toda la ayuda =) ¿Sabes por qué GetString está haciendo esto? –

1

Puede hacerlo con DateTime.TryParse()

DateTime date; 
DateTime.TryParse("2012-07-06 09:52:50.926145", out date); 

En su caso

DateTime date, 
DateTime.TryParse(myRecord.GetString(myRecord.GetOrdinal("LASTMODIFIED")), out date); 
+0

Gracias @Asif GetString vuelve 2012-07-06-09: 52: 50.926145 sin embargo, parece estar bien en el administrador de consulta. –

+0

Puede reemplazarlo por un espacio en blanco por int index = "2012-07-06-09: 52: 50.926145". LastIndex ("-"); –

Cuestiones relacionadas