2016-06-14 5 views
1

Ich versuche, eine abgegrenzte flache Datei mit Datei-Helfer-Bibliothek zu lesen.FieldConverter ConverterKind.Date unterstützt nicht "TT/MM/JJJJ HH: mm: ss.ffffff"

[FieldConverter(ConverterKind.Date, "yyyy/MM/dd HH:mm:ss.ffffff")] 
public DateTime DateOfInteraction; 

Aber ich erhalte die folgende Ausnahme

FileHelpers.ConvertException unhandled war HResult = -2146233088 Message = Error '2015.09.20 23: 40: 07,707000' Converting eingeben : 'Terminzeit'. Mit dem Format: 'yyyy/MM/dd HH: mm: ss.ffffff' Source = FileHelpers Spaltennummer = 80 Feldname = DateOfInteraction FieldStringValue 2015.09.20 = 23: 40: 07,707000 Linenumber = 2 MessageExtra = Verwenden Sie das Format: 'JJJJ/MM/TT HH: mm: ss.ffffff' MessageOriginal = Fehler beim Konvertieren von '2015-09-20 23: 40: 07.707000' zu Typ: 'DateTime'. Stacktrace: bei FileHelpers.ConvertHelpers.DateTimeConverter.StringToField (String von) bei FileHelpers.FieldBase.AssignFromString (ExtractedInfo-Feldstärke, LineInfo Linie) bei FileHelpers.FieldBase.ExtractFieldValue (LineInfo Linie) bei FileHelpers.RecordOperations.StringToRecord (Object Aufzeichnung, LineInfo Linie, Objekt [] -Werte) bei FileHelpers.FileHelperAsyncEngine 1.ReadNextRecord() at FileHelpers.FileHelperAsyncEngine 1.ReadNext() bei FileHelpers.FileHelperAsyncEngine`1.AsyncEnumerator.MoveNext() bei TestApplication.Program.Main (String [] args) in c: \ MSRS \ Altes Sys \ Practice \ CIMStats \ TestApplication \ Program.cs: Zeile 22 bei System.AppDomain._nExecuteAssembly (RuntimeAssembly-Assembly, String [] args) an System.AppDomain.ExecuteAssembly (String assembly, Evidence assemblySecurity, String [] args) bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() bei System.Threading.ThreadHelper.ThreadStart_Context (Object state) bei System.Threading .ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback-Rückruf, Objektstatus, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback-Callback, Objektstatus, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback-Callback, Objektstatus) bei System.Threading.ThreadHelper.ThreadStart() InnerException:

Ich habe nicht verstanden, warum ich die Ausnahme bekomme, obwohl die Datumsformat-Zeichenfolge eine gültige ist. Der folgende Codeausschnitt richtigen Ausgang zu geben ...

Console.WriteLine("Started: {0:dd/MM/yyyy HH:mm:ss.ffffff}", DateTime.Now); 

DateTime format

+0

http://stackoverflow.com/questions/4195820/fieldconverter-converterkind-date-dd-mm-yyyy-exception – Slai

Antwort

2

"/" in einem benutzerdefinierten Datumsformat-Zeichenfolge ist ein kulturspezifische DateSeparator. So wird es durch das Datumstrennzeichen für Ihre Kultur ersetzt. Während Konvertieren Sie InvariantCulture in Kultureinstellungen angeben müssen während der Konvertierung

+0

Bedeutet es, einen benutzerdefinierten Konverter zu implementieren? – MSRS

+0

Ja, ich denke schon –

+0

Danke ... werde es versuchen. – MSRS

Verwandte Themen