Frage

Ich habe eine Zeichenfolge, die einen Datatime Wert darstellt, und ich möchte zu trainieren, was String-Format verwendet wurde, um die Zeichenfolge zu erstellen.

Zum Beispiel
- "Mittwoch 27. Januar 2010" In Anbetracht Ich erwarte, dass "dddd MMM yyyy dd"
- Bei "2010 01 27" I "yyyy MM dd"

erwarten

Es sei angenommen, dass das Datum der Nähe von DateTime.Now ist und bezieht sich auf die Current. Also da haben wir en-GB Kultur
- Bei "01 01 2010" Ich erwarte, dass "TTMMJJJJ"

Gibt es eine einfache Möglichkeit, dies zu tun?

War es hilfreich?

Lösung

könnten Sie auf Leerzeichen geteilt ein Array von Strings zu erhalten dann könnte man die Elemente in der Anordnung gegen bekannte Werte testen, um zu versuchen, das Format zu erraten

z. wenn Sie für „Mittwoch“ suchen, wenn Sie es finden annehmen „dddd“

, wenn eine vierstellige Zahl annehmen yyyy

Tage und Monate könnte ein Problem sein, Sie für> 12 für die Tage testen konnte, aber das ist ziemlich schlecht

Vielleicht könnten Sie das Format mit Leerzeichen Split dann DateTime.Parse auf den Orignal und Test gegen eine formatierte (mit dem infered Format) Version des analysierten Datums für die Gleichstellung

schließen

Andere Tipps

Die einfachste, was zu tun ist Blick auf der Referenz Datetime-Formatierung Strings und arbeiten sie aus.

Sie können möglicherweise zu verwenden Reflexion, um diese zu erhalten, oder verwenden Sie Disassembler (wie

scroll top