Datum Uhrzeit in Groovy

8

Ich möchte eine Sekunde zu einer Datetime hinzufügen, damit ich die datenbasierte Paginierung testen kann. Ich hoffe, ein Datum von unserer API-Antwort zu erhalten, wandeln Sie die Datumszeichenkette in ein Datum um, dann wandeln Sie das in Millisekunden um, fügen Sie eine Sekunde hinzu und dann wandeln Sie zurück in eine Datumszeichenkette um und verwenden Sie sie in meiner nächsten API Anfrage. (Sound longwinded? Es fühlt sich an wie es ist!)

Ich habe Probleme, wenn ich versuche, eine dateTime zu analysieren. Der folgende Code wirft einen Fehler auf:

%Vor%

Fehler: groovy.lang.MissingMethodException: Keine Signatur der Methode: java.util.Date.parse () gilt für Argumenttypen: (java.lang.String, groovy.util.slurpersupport.NodeChildren) Werte: [jjjj-mm-ddThh: mm: ss, 2007-01-26T00: 00: 00] Mögliche Lösungen: parse (java.lang.String), parse (java.lang.String, java.lang.String), wait (), clone (), any (), use (java.util.List, groovy.lang.Closure)

Irgendwelche Tipps, wie ich mein Ziel erreichen kann? Oder ist es ein düsterer Ansatz?

    
Richard Fortune 17.11.2010, 02:55
quelle

5 Antworten

9

Wahrscheinlich die konsistenteste, idiomatische groovy Lösung ohne Abhängigkeiten:

%Vor%     
btiernay 02.12.2010, 01:19
quelle
14

Klingt nach einer Art und Weise um eine Sekunde hinzuzufügen. Warum nicht einfach:

%Vor%

Für eine flexiblere Analyse von Datumszeichenfolgen sollten Sie sich die JChronic-Java-Bibliothek ansehen. Es kann Daten in vielen verschiedenen Formaten verarbeiten und ist nicht auf eine genaue Vorlage wie die SimpleDateFormat-Klasse angewiesen. Hier ist ein Beispiel, das beides verwendet:

%Vor%     
ataylor 17.11.2010 04:30
quelle
2

Eine allgemeinere Java-Lösung besteht darin, die Joda Time -Bibliothek zu verwenden.

%Vor%

Es kann alle Formatierungen für eingehende und ausgehende Datumsangaben verarbeiten, einschließlich komplexer Szenarien mit Zeitzonen in der Datumszeichenfolge, z. B. "2010-11-18T23: 23: 59 + 01: 00"

    
Mark O'Connor 18.11.2010 23:35
quelle
1

Ein Kollege hat mir geholfen -

%Vor%

Ich hatte anfangs Schwierigkeiten, die Zeit zu addieren - die Typen spielten nicht gut zusammen.

Vielen Dank für Ihre Antworten Leute!

    
Richard Fortune 19.11.2010 02:54
quelle
0

Schauen Sie hier nach:

Sie möchten etwas wie:

verwenden %Vor%

Sie müssen c mit einem gewünschten Datum initialisieren, sehen Sie sich den Link zu verschiedenen Möglichkeiten an, aber hier ist ein Beispiel:

%Vor%     
icyrock.com 17.11.2010 03:03
quelle

Tags und Links