Sehen Sie sich diese Dokumentation
an , sieht es so aus, als würden Sie zwei widersprüchliche Optionen angeben (AllowZeroDateTime=true
und ConvertZeroDateTime=true
) und eine, die nicht aufgeführt zu sein scheint (ZeroDateTimeBehavior=ConvertToNull
).
Ich schlage vor, es sei denn, Sie haben tatsächliche Daten, die DateTime.MinValue
sind die Sie nicht mit dem "Null"-Wert verwechseln möchten, einfach Geben Sie ConvertZeroDateTime=true
an und erkennen, ob das Ergebnis DateTime.MinValue
ist . Das sollten Sie auf keinen Fall Rufen Sie reader.GetDateTime()
auf , konvertieren Sie dann das Ergebnis in eine Zeichenfolge und dann zurück in ein DateTime
- Sie sollten Zeichenfolgenkonvertierungen so weit wie möglich vermeiden, da sie Ihnen ziemlich leicht die Dinge durcheinander bringen können.
Es ist nicht wirklich klar, welchen Zeichenfolgenwert Sie für diese "Null"-Werte haben möchten, aber Sie sollten in der Lage sein, sie mit DateTime.MinValue
in Sonderfälle umzuwandeln ziemlich einfach. Persönlich würde ich tatsächlich versuchen, die Daten so weit wie möglich in ihrer "nativen" Form zu belassen, anstatt alles in Strings umzuwandeln, aber das ist ein anderer Kampf.