Parse-datetime in mehreren Formaten

Habe ich erstellt eine API-Endpunkt. Der Anrufer kann rufen Sie die API mit POST - Methode und übergeben die relevanten Parameter. In den Parametern gibt es ein parameter, der datetime format.

Das problem ist, dass beim Aufruf dieser API kann der Aufrufer übergibt datetime in 3 verschiedenen Formaten:

  1. long int - z.B. 1374755180
  2. US-format - z.B. "7/25/2013 6:37:31 Uhr" (wie string)
  3. Timestamp-format - z.B. "2013-07-25 14:26:00" (wie string)

Habe ich zum Parsen der datetime Wert und wandelt es in ein DateTime oder string im Timestamp-format.

Habe ich versucht, mit DateTime.TryParse(), DateTime.Parse(), Convert.ToDateTime() und Convert.ToDouble() aber keiner von Ihnen arbeiten in der Gewissheit für mich.

Die erforderliche Leistung hat, um in en-GB format.

Edit:

Hatte ich gedacht, um eine if-else if-else block zur Verwendung mit TryParse 3 mal mit einer else zu sagen, dass der string konnte nicht analysiert werden. Ist das die beste Lösung? Oder gibt es Lösungen, die besser als diese?

Bitte um Hilfe!!

Vielleicht können Sie die DateTime.TryParseExact ?
Wie soll das helfen wenn ich nicht weiß, das format der Eingabe-string?
aber Sie wissen, Sie haben 3 Möglichkeiten für die Eingabe von Zeichenfolgen, enthält keine Leerzeichen noch irgendwelche Sonderzeichen, die andere hat "/" Trennzeichen, und der andere hat "-". Könnten Sie 3 Parser zu PREVALIDATE Sie das genaue format, aber es würde einfach genug sein, um zu testen, ob es numerisch ist, oder wenn es enthält die Trennzeichen, die Sie erwarten sind und dann versuchen, zu analysieren, mit dem richtigen format. Wenn es nicht analysieren, das input-Feld ist nicht gültig...
Es wird helfen, weil es nicht eine, dann die nächste, dann hoffentlich nicht. DateTime.Parse() (oder TryParse) sind wahrscheinlich etwas ähnliches intern. Versuchen mehrere Formate. Lassen Sie mich sehen, wenn ich eine Antwort zusammen.

InformationsquelleAutor Vivek Jain | 2013-07-25

Schreibe einen Kommentar