Konvertierung und Vergleich unterschiedlicher Zeitformate

Winfo606

Mitglied
Hallo Zusammen,

ich erhalte via REST als ResponseBody folgendes Zeitformat:

Code:
String Datum= "Wed, 13 Jan 2016 14:14:35 GMT"

Diese möchte ich mit dem aktuellen Datum minus X-Tage vergleichen.
Das Problem ist, dass es sich dabei natürlich um unterschiedliche Format handelt, weshalb ich den String "Datum" in das nachfolgende Format kovertieren muss(s. Output). Dafür benötige ich aber das richige Input-Format!

Code:
DateFormat input = new SimpleDateFormat(XXXXXXX);
DateFormat output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
                           
Date unformatteDdate = input.parse(Datum);
String formattedTime = output.format(unformatteDdate);
Date date = output.parse(formattedTime);

Anschließend würde ich das neue Zeitformat mit dem aktuellen Datum minus X-Tage vergleichen. Der Vergleich stellt aber keine Schwierigkeit mehr da, das habe ich schon!

Weiß jemand, wie ich das Format in meinem Input formatieren muss, damit ich das richtige Output-Format erhalte?

Mit besten Grüßen
 

Flown

Administrator
Mitarbeiter
Java 8 bietet dieses Format schon mit:
Java:
String d = "Wed, 13 Jan 2016 14:14:35 GMT";
LocalDateTime dateTime = LocalDateTime.parse(d, DateTimeFormatter.RFC_1123_DATE_TIME);
System.out.println(dateTime);
 

Jardcore

Top Contributor
Ich glaube das was du möchtest funktioniert nicht so wie du denkst, das Date Objekt enthält keine Informationen über die Formatierung. Das heißt du kannst zwar ein Date Objekt anhand eines DateFormat erstellen, die Repräsentation wann es wie aussehen soll musst du dann an der Stelle machen an der du es brauchst.
Java:
DateFormat input = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
beste Grüße,
Jar
 

Winfo606

Mitglied
Schönen guten Tag,

jetzt muss ich doch noch einmal eine weitere Frage stellen, da ich mit diesen blöden Zeiten nicht zu recht komme :-(
Mittlerweile habe ich mein Programm soweit fertig, allerdings habe ich noch ein weiteres Zeit-Formatierungsproblem bekommen.

Ich möchte "Thu Feb 04 21:26:05 CET 2016" in "2016-02-04 21:26:05.1452" konvertieren.
Mit den Informationen von https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
habe ich doch ein Problem.

Mit besten Grüßen!
 

Winfo606

Mitglied
Hallo Flown,

okay, auf die Tausendstell könnte ich auch verzichten!
Ich versuche es wieder mit einer eigenen Funktion:


Code:
public static String parseTime(int days) throws ParseException{

     DateFormat input = new SimpleDateFormat("Thu Feb 04 21:26:05 CET 2016");
     DateFormat output = newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
     Date unformatteDdate = XXXX
     String formattedTime = output.format(unformatteDdate);
     
System.out.println(formattedTime);
    
     return formattedTime;

     }


Also ich bekomme wieder nicht die richtigen Bausteine für "Thu Feb 04 21:26:05 CET 2016"

LG
 

Joose

Top Contributor
Code:
DateFormat input = new SimpleDateFormat("Thu Feb 04 21:26:05 CET 2016");
Diese Zeile ist ja auch nicht das Wahre, hier steht ja dein Wert drinnen und nicht das Format des Wertes ;)

Also ich bekomme wieder nicht die richtigen Bausteine für "Thu Feb 04 21:26:05 CET 2016"

OK aufgeschlüsselt (anhand des Links: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)
Code:
Thu  => E Day name in week
Feb => M Month in year
04 => d Day in month
21 => H Hour in day (0-23)
26 => m Minute in hour
05 => s Second in minute
CET => ?
2016 => y Year
Jetzt musst du die entsprechenden Buchstaben nur in mit der richtigen Anzahl an Wiederholungen in die richtige Reihenfolge bringen (die ja eh schon oben steht :p) ;)
 

Winfo606

Mitglied
Vielen Dank für die schnelle Antwort! =)
Ich glaube ich habe in meinem Konstrukt noch ein Denkfehler.

Code:
    public static String parseTime(String time) throws ParseException{
       

        DateFormat input = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US); 

//Da habe ich jetzt die richtige Formatierung gefunden, ist aber glaub ich sogar irrelevant, wenn ich es parsen möchte in das Output-Format oder?

        DateFormat output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       
        System.out.println("Time: "+time);      (Ausgabe: -->  Fri Feb 05 13:27:44 CET 2016)
        Date formattedTime = output.parse(time);
       
        System.out.println(formattedTime);       
       
        return formattedTime.toString();
       
    }

Also ich möchte "Fri Feb 05 13:27:44 CET 2016", was erfolgreich als String übergeben wird, in das gegebene OUTPUT-Format konvertieren. Jedoch sagt er mir dann immer:

java.text.ParseException: Unparseable date: "Fri Feb 05 13:27:44 CET 2016"
at java.text.DateFormat.parse(DateFormat.java:348)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
M Konvertierung String -> double Java Basics - Anfänger-Themen 8
B Date Konvertierung Java Basics - Anfänger-Themen 0
T Datentypen Calender/Gregorianisch/Julianisch/JDN Konvertierung Java Basics - Anfänger-Themen 4
W Methoden Konvertierung von Sonderzeichen Java Basics - Anfänger-Themen 2
C Konvertierung per Hand ausrechnen Java Basics - Anfänger-Themen 8
S Konvertierung in Liste Java Basics - Anfänger-Themen 3
M Erste Schritte konvertierung von int zu char Java Basics - Anfänger-Themen 3
V Erste Schritte Konvertierung Java Basics - Anfänger-Themen 2
D Input/Output Stringbuffer Befehle bei Konvertierung in String Java Basics - Anfänger-Themen 19
T Problem mit Array Konvertierung Java Basics - Anfänger-Themen 13
D Konvertierung UnsignedInt zu long Java Basics - Anfänger-Themen 5
K Konvertierung von einem Text in eine Zahl in Excel(JXL) Java Basics - Anfänger-Themen 2
A Konvertierung String-->hex-->long Java Basics - Anfänger-Themen 7
D Methode zur Konvertierung von Oberklasse in Unterklasse Java Basics - Anfänger-Themen 5
H Konvertierung String -> int Java Basics - Anfänger-Themen 11
D konvertierung/char/int Java Basics - Anfänger-Themen 14
K Datentypen Explizite Konvertierung Java Basics - Anfänger-Themen 12
S Konvertierung von dez zu bin mit Bool-Array Java Basics - Anfänger-Themen 9
R Konvertierung int nach char, Ausgabefehler Java Basics - Anfänger-Themen 3
E Typ Konvertierung Java Basics - Anfänger-Themen 4
R datentypen konvertierung u modulorechnung Java Basics - Anfänger-Themen 15
I Unstimmigkeit bei String-nach-Double-Konvertierung Java Basics - Anfänger-Themen 7
G Konvertierung von charArray in String funzt net Java Basics - Anfänger-Themen 3
G Konvertierung String in long type Java Basics - Anfänger-Themen 15
I Konvertierung von double in int Java Basics - Anfänger-Themen 2
G Konvertierung Byte Array Java Basics - Anfänger-Themen 4
M Konvertierung v. Strings (evtl. mit Sonderzeichen) nach HTML Java Basics - Anfänger-Themen 8
G Probleme mit Konvertierung und Substraktion im Calendar Java Basics - Anfänger-Themen 4
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
U Interface als PAramter (Vergleich) und ein Error Java Basics - Anfänger-Themen 9
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
B Performance-Vergleich mit C++ Java Basics - Anfänger-Themen 55
K Rekursiver Vergleich von Textmuster und Text Java Basics - Anfänger-Themen 2
Zeppi Vergleich von Array-Inhalten Java Basics - Anfänger-Themen 14
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
W Vergleich von DatenPaketen Java Basics - Anfänger-Themen 6
B String vergleich Java Basics - Anfänger-Themen 3
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
K File-Name Vergleich Java Basics - Anfänger-Themen 2
V Fließkommazahlen Vergleich Java Basics - Anfänger-Themen 7
J Vergleich Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
S Vergleich zweier ArrayLists mit Ausgabe an dritte ArrayList Java Basics - Anfänger-Themen 5
T Vergleich und Ausgabe von Zahlen Java Basics - Anfänger-Themen 1
G Klassen Vergleich zweier Klassen Java Basics - Anfänger-Themen 23
J Fehler bei Vergleich auf den grössten Wert Java Basics - Anfänger-Themen 2
A Do-While Schleife; int vergleich Java Basics - Anfänger-Themen 2
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
T Input/Output String-Vergleich schlägt fehl Java Basics - Anfänger-Themen 7
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
N Methoden Methode zum Vergleich zweier Geburtstage Java Basics - Anfänger-Themen 5
W Vergleich mit If-Abfrage nur für Zahlen bis 07 möglich - Warum? Java Basics - Anfänger-Themen 7
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
L PW-Vergleich Java Basics - Anfänger-Themen 5
N Vergleich zweier String Arrays scheitert Java Basics - Anfänger-Themen 3
S Vergleich von Listen Java Basics - Anfänger-Themen 6
J vergleich von arrays (benötige Hilfe/Denkanstoß) Java Basics - Anfänger-Themen 16
V Einfacher vergleich von Arrays geht schief Java Basics - Anfänger-Themen 2
T Operatoren Multiplikation nur mit Addition, Subtraktion und Vergleich Java Basics - Anfänger-Themen 29
N Methoden Array vergleich funzt nicht Java Basics - Anfänger-Themen 8
B Char-Vergleich Sonderzeichen Java Basics - Anfänger-Themen 6
S Vergleichsmethode zum Objekt-Vergleich mit < und > Java Basics - Anfänger-Themen 4
F Problem bei Vergleich Java Basics - Anfänger-Themen 3
S File vergleich - Junit Java Basics - Anfänger-Themen 6
P String-Vergleich Java Basics - Anfänger-Themen 3
S Multiplikation durch Addition, Subtraktion und Vergleich von Zahlen Java Basics - Anfänger-Themen 14
W Vergleich ob Buchstabe in einem Wort enthalten ist Java Basics - Anfänger-Themen 3
C String Objekte Vergleich je nach Instanzierung unterschiedlich!!?!! Java Basics - Anfänger-Themen 4
R String-Vergleich Java Basics - Anfänger-Themen 15
C Variablen Vergleich funktioniert nicht Java Basics - Anfänger-Themen 11
J Erste Schritte Vergleich der String-Objekte Java Basics - Anfänger-Themen 17
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
A Variablen Vergleich Java Basics - Anfänger-Themen 5
P Erste Schritte vergleich substring und string Java Basics - Anfänger-Themen 4
G Date - Calender | "Vergleich" Java Basics - Anfänger-Themen 3
M Vergleich mit Toleranz Java Basics - Anfänger-Themen 7
B Objekt Vergleich - Unterschiede ausgeben Java Basics - Anfänger-Themen 4
P Vergleich mit Variablen Java Basics - Anfänger-Themen 6
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
K Vergleich von variable und array Java Basics - Anfänger-Themen 9
L vergleich zweier texte Java Basics - Anfänger-Themen 18
H Beim Vergleich/Sortieren mehr als zwei Objekte berücksichtigen Java Basics - Anfänger-Themen 14
B Vergleich zweier Objekte durch "Hashfunktion" Java Basics - Anfänger-Themen 12
P Vergleich von Enums Java Basics - Anfänger-Themen 4
S String Vergleich funktioniert nicht Java Basics - Anfänger-Themen 3
A String-Vergleich geht nicht Java Basics - Anfänger-Themen 2
U Automatenprüfung in Java implementieren — String Vergleich klappt nicht Java Basics - Anfänger-Themen 40
F Methoden Vergleich von int Zahlen Java Basics - Anfänger-Themen 16
F Login Passwort-Vergleich Java Basics - Anfänger-Themen 12
N Vergleich per equals Java Basics - Anfänger-Themen 5
Z XML Vergleich Java Basics - Anfänger-Themen 20
S Herunterladen von Dateien mit Vergleich Java Basics - Anfänger-Themen 6
L Problem String-Vergleich Java Basics - Anfänger-Themen 2
E Objekte-Vergleich Java Basics - Anfänger-Themen 6
Y Datentypen String vergleich Java Basics - Anfänger-Themen 3
R Vergleich von Objekten anhand variierender Kriterien Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben