2012-11-09 8 views
9

Ich mag die Noda Zeit Handhabung von Formatierung und Parsing Werte mit den verschiedenen *Pattern Typen im NodaTime.Text Namespace. Benutzereingaben sind jedoch oft nicht so regelmäßig wie ein einzelnes Format. Zum Beispiel unsere App verwendet das Zeitformat "h:mm tt" aber wir möchten eine Benutzereingabe in einem der folgenden Formate in der Lage sein zu analysieren:Wie man mehrere Formate mit Noda Time analysiert?

  • h:mm tt
  • h:mmtt (kein Platz)
  • h:mm t
  • h:mmt (kein Platz)
  • h tt
  • hh:mm
  • und so weiter ...

Gibt es eine Möglichkeit Noda Zeit zu verwenden Eingabe zu analysieren, die in einer beliebigen Anzahl von Formaten sein kann?

Antwort

3

(Es tut uns so lange dauert, um diese zu reagieren.)

Ärgerlicher, es sieht aus wie wir dies nicht ausgesetzt.

Es ist vorhanden in Noda Zeit in der CompositePattern Klasse. Leider ist das momentan intern. Ich habe issue 147 ausgelöst, um dies irgendwann zu beheben (wahrscheinlich im 1.1 Zeitrahmen).

Im Moment ist es wahrscheinlich am einfachsten zu verwenden, um nur den gleichen Code von CompositePattern - Sie müssen Ihre eigene IPattern<T> Implementierung für das nicht zu schaffen, da es nur wirklich die Parse Methode ist, die nützlich ist. (Tatsächlich könnten Sie es sogar als eine Erweiterungsmethode unter IEnumerable<IPattern<T>> schreiben, obwohl ich mir nicht sicher bin, ob wir genügend Sichtbarkeit gegeben haben, um die gleiche Art von Fehlerergebnis zu erzeugen.)

Verwandte Themen