2012-07-06 26 views
5

Jak przekonwertować znacznik czasu zwrócony z DB2 ISeries na typ danych DateTime w języku C#?Jak przekonwertować znacznik czasu DB2 na datetime?

2012-07-06 09:52:50.926145 

To nie pracował dla mnie

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

Odpowiedz

5

DateTime.Parse?

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

It works, really.

+0

Dzięki za odpowiedź miniTech. Wygląda na to, że GetString w C# jest problemem. Odsyła mnie 2012-07-06-09: 52: 50.926145 z jakiegoś dziwnego powodu.Zauważ dodatkowe "-" –

+4

@DamienJoe: Następnie użyj 'DateTime.ParseExact (" 2012-07-06-09: 52: 50.926145 " "yyyy-MM-dd-HH: mm: ss.FFFFFF", null) '. [Tutaj jest wersja demonstracyjna]. (Http://ideone.com/AExyK) – Ryan

+0

Doskonałe rozwiązanie! Kciuki za całą pomoc =) Czy wiesz, dlaczego GetString to robi? –

1

Można to zrobić z DateTime.TryParse()

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

w Twoim przypadku

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

Dzięki @Asif getString zwraca 2012-07-06-09: 52: 50,926145 jednak wydaje się być w porządku w menedżerze zapytań. –

+0

Możesz zastąpić go białą spacją według indeksu ind = "2012-07-06-09: 52: 50.926145" .LastIndex ("-"); –

Powiązane problemy