2012-07-06 21 views
5

Come si converte un timestamp restituito da DB2 ISeries a datatype DateTime in C#?Come convertire il timestamp DB2 in datetime?

2012-07-06 09:52:50.926145 

Questo non ha funzionato per me

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

risposta

5

DateTime.Parse?

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

It works, really.

+0

Grazie per la tua risposta miniTech. Sembra che GetString all'interno di C# sia il problema. Mi sta restituendo 2012-07-06-09: 52: 50.926145 per qualche strana ragione. Noti l'extra '-' –

+4

@DamienJoe: Quindi usa 'DateTime.ParseExact (" 2012-07-06-09: 52: 50.926145 " , "aaaa-MM-gg-HH: mm: ss.FFFFFF", null) '. [Ecco una demo.] (Http://ideone.com/AExyK) – Ryan

+0

Soluzione eccellente! Complimenti per tutto l'aiuto =) Sai perché GetString sta facendo questo? –

1

È possibile farlo con DateTime.TryParse()

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

Nel tuo caso

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

Grazie @Asif GetString restituisce 2012-07-06-09: 52: 50,926,145 mila tuttavia sembra andare bene nel responsabile di query. –

+0

Puoi sostituirlo con uno spazio bianco con int index = "2012-07-06-09: 52: 50.926145" .LastIndex ("-"); –