Training des String-Format für Datetime-Formatierung verwendet
-
23-09-2019 - |
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"
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?
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ßenAndere 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