Ich habe gesucht, aber nicht meine Antwort gefunden mich so vergeben, wenn diese Frage ein Duplikat ist.Wie überprüfe ich nach einem gültigen Datum in C# (mit einem Datetime-Typ und nicht mit Datetime2)?
Ich habe eine .NET C# -Anwendung, die Entity Framework (EF) verwendet, um mit einer SQL Server-Datenbank zu kommunizieren. Ich konvertiere eine große Menge an Daten und muss sicherstellen, dass meine Daten gültige Datetime-Typen von SQL Server sind. Meine POCO-Klassen verwenden einen datetime2-Typ für die Daten, sodass ein Datum "0201-04-11 13:00:00 PM" gültig ist, bis die Einfügung tatsächlich in der SQL Server-Datenbank versucht wird. Ich versuche DateTime.TryParseExact mit so etwas zu verwenden ...
if (DateTime.TryParseExact(legacyRecord.date_paid.ToString(), "M/d/yyyy hh:mm:ss tt", new CultureInfo("en-us"), DateTimeStyles.None, out datePaid))
{
// Load record into lease payment table table
LoadLeasePayment loadLeasePayment = new LoadLeasePayment();
Decimal LeasePaymentId = loadLeasePayment.AddRecord(prodLeaseId, legacyRecord.amount_paid, datePaid, prodContext, loadDate);
}
Ich bin sicher, dass die Lösung liegt auf der Hand, aber ich kann nicht den Wald vor lauter Bäumen nicht sehen. Jede Hilfe wird sehr geschätzt.
Was meinst du mit gültig? '2017-02-05 18: 25: 31.998' kann einem Datetime zugewiesen werden, wird aber geändert auf' 2017-02-05 18: 25: 31.997' ist das ein Problem? –
Mögliches Duplikat von [Error - SqlDateTime overflow. Muss zwischen 1/1/1753 12:00:00 Uhr und 12/31/9999 23:59:59 Uhr] (http://stackoverflow.com/questions/3399061/error-sqldatetime-overflow-must-be- zwischen-1-1-1753-120000-am-and-12-31-999) –