Frage

Gibt es eine Möglichkeit, eine Zeichenfolge im Format HH zu analysieren: MM in ein Datum (oder andere) Objekt mit den Standardbibliotheken

Ich weiß, dass ich so etwas wie „2008.09.17 10.30 Uhr“ in ein Date-Objekt analysieren kann mit

var date:Date = new Date(Date.parse("9/17/2008 10:30");

Aber ich will nur 10.30 Uhr selbst analysieren. Der folgende Code wird nicht funktionieren.

var date:Date = new Date(Date.parse("10:30");

Ich weiß, ich kann eine benutzerdefinierte RegEx verwendet diese ziemlich leicht zu tun, aber es scheint, wie dies möglich sein soll, den bestehenden Flex-API verwenden.

War es hilfreich?

Lösung

Ihre Frage zu beantworten: Nein, es gibt keine Bibliotheksfunktion zu tun, was Sie tun wollen, aber dann gibt es keine Bibliotheksfunktion für Daten im ISO-Format, auf dem deutschen Format, auf dem schwedischen Format parsen, stammt, wo die Jahre sind in römischen Ziffern etc.

Warum nicht reguläre Ausdrücke? Das ist, was sie da sind.

Andere Tipps

Wenn Sie das genaue Format zu verwenden, haben Sie angegeben, dann müssen Sie es selbst analysieren.

Hier ist ein einfaches Beispiel (nicht getestet):

var str:String = "9/17/2008 10:30"

var items:Array = str.split(" ");
var dateElements:Array = items[0].split("/");
var timeElements:Array = items[1].split(":");

var n:Date = new Date(dateElements[2],
                        dateElements[0],
                        dateElements[1].
                        timeElements[0],
                        timeElements[1]);

Wenn die Zeit nicht innerhalb von 24 Uhr ausgedrückt wird, dann gibt es keine Möglichkeit für AM oder PM zu überprüfen (Code AM übernehmen).

Als eine einfache und kostenlose Lösung, einige statische Methoden der Datefield verwenden:

  • DateField.stringToDate (value: String, inputformat: String): Datum
  • DateField.dateToString (Wert: Datum, outputFattern: String): String

Aber leider unterstützen sie nicht Stunden / Minuten / Sekunden (nur das Datum).

In Ihrem speziellen Fall: das Date-Objekt enthält immer auch eine „date“ Informationen .. wenn es nicht wichtig ist, könnte man nicht einfach ein Standard-Datums-String verketten vor Parsen

Haben Sie darüber nachgedacht, das Voranstellen von „01/01/2000“ auf die Zeitfolge und dann Datum der Anwendung?

Alternativ gibt es wahrscheinlich eine tokenizer, die den Eingang nehmen und teilen Sie es bis am: Sie ein Array von Strings geben Sie auf ganze Zahlen umwandeln kann. Ein tokenizer ist nicht schwer, entweder zu schreiben, und kann Spaß machen, wenn man nicht in flex nicht vorhanden ist.

-Adam

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top