Erste Schritte DateTimeFormatter richtig anwenden

JanFausO

Mitglied
Hallo,
ich muss einen FestivalPlaner programmieren und habe das Problem, dass ich bei einer Klasse den DateTimeFormatter nicht richtig anwende, den Fehler aber leider nicht finde.
Sobald ich den Formatter anwende, übernimmt er mein Pattern nicht mehr.
Die Main Methode ist die folgende:

Java:
    public static void main(String[] args) {
        //Strings mit Start- und End-Zeit der Konzerte, später umwandeln in LocalDateTime
        String StartZeit1 = "09-08-2017 14:00";
        String EndZeit1 = "09-08-2017 15:30";
        String StartZeit2 = "09-08-2017 16:00";
        String EndZeit2 = "09-08-2017 17:30";
        String StartZeit3 = "09-08-2017 18:00";
        String EndZeit3 = "09-08-2017 19:30";
       
        //Pattern für den DateTimeFormatter
        String pattern = "dd-MM-yyyy HH:mm";   
        DateTimeFormatter Formatter = DateTimeFormatter.ofPattern(pattern);
       
       
        //Umwandlung der Strings in den Typ LocalDateTime
        LocalDateTime Beginn1 = LocalDateTime.parse(StartZeit1, Formatter);
        LocalDateTime Ende1 = LocalDateTime.parse(EndZeit1, Formatter);
        LocalDateTime Beginn2 = LocalDateTime.parse(StartZeit2, Formatter);
        LocalDateTime Ende2 = LocalDateTime.parse(EndZeit2, Formatter);
        LocalDateTime Beginn3 = LocalDateTime.parse(StartZeit3, Formatter);
        LocalDateTime Ende3 = LocalDateTime.parse(EndZeit3, Formatter);
        LocalDateTime Beginn4 = LocalDateTime.parse(StartZeit1, Formatter);
        LocalDateTime Ende4 = LocalDateTime.parse(EndZeit1, Formatter);
        LocalDateTime Beginn5 = LocalDateTime.parse(StartZeit1, Formatter);
        LocalDateTime Ende5 = LocalDateTime.parse(EndZeit1, Formatter);
       
       
        Performer Performer6 = new Performer("Die Ärzte", Kind.ROCK);
        Performer Performer7 = new Performer("Broilers", Kind.PUNK);
        Performer Performer8 = new Performer("Callejon", Kind.METAL);
        Performer Performer9 = new Performer("Ellie Goulding", Kind.POP);
        Performer Performer10 = new Performer("DJ Eddie Funk", Kind.FUNK);

       
        Appearance Appearance1 = new Appearance(Performer6, Stage.MainStage, 
                Beginn1, Ende1);
       
        Appearance Appearance2 = new Appearance(Performer7, Stage.MainStage, 
                Beginn2, Ende2);
       
        Appearance Appearance3 = new Appearance(Performer8, Stage.MainStage, 
                Beginn3, Ende3);
       
        Appearance Appearance4 = new Appearance(Performer9, Stage.SideStage, 
                Beginn4, Ende4);
       
        Appearance Appearance5 = new Appearance(Performer10, Stage.PartyTent, 
                Beginn5, Ende5);

        System.out.println(StartZeit1); //09-08-2017 14:00
        System.out.println(Beginn1);    //2017-08-09T14:00
        System.out.println(Appearance1);//2017-08-09T14:00 - 2017-08-09T15:30: Die Ärzte (ROCK) @ MainStage
        System.out.println(Appearance2);//2017-08-09T16:00 - 2017-08-09T17:30: Broilers (PUNK) @ MainStage
        System.out.println(Appearance3);//2017-08-09T18:00 - 2017-08-09T19:30: Callejon (METAL) @ MainStage
        System.out.println(Appearance4);//2017-08-09T14:00 - 2017-08-09T15:30: Ellie Goulding (POP) @ SideStage
        System.out.println(Appearance5);//2017-08-09T14:00 - 2017-08-09T15:30: DJ Eddie Funk (FUNK) @ PartyTent
    }


Die Ausgabe ist folgende und das Format sollte eigentlich überall wie die erste Ausgabe aussehen:

09-08-2017 14:00
2017-08-09T14:00
2017-08-09T14:00 - 2017-08-09T15:30: Die Ärzte (ROCK) @ MainStage
2017-08-09T16:00 - 2017-08-09T17:30: Broilers (PUNK) @ MainStage
2017-08-09T18:00 - 2017-08-09T19:30: Callejon (METAL) @ MainStage
2017-08-09T16:00 - 2017-08-09T17:30: Ellie Goulding (POP) @ SideStage
2017-08-09T16:00 - 2017-08-09T17:30: DJ Eddie Funk (FUNK) @ PartyTent
 

Harry Kane

Top Contributor
1. Bitte Java-Namenskonventionen lernen und Variablen klein schreiben.
2. Lernen wie man Arrays benutzt (Appearance[] statt mehrerer Appearance-Objekte).
3. Die Ausgabe ist offenbar das Ergebnis der toString()-Methode von deiner Appearance-Klasse. Wieso sollte diese Ausgabe den formatter verwenden?
 

JanFausO

Mitglied
1. Bitte Java-Namenskonventionen lernen und Variablen klein schreiben.
2. Lernen wie man Arrays benutzt (Appearance[] statt mehrerer Appearance-Objekte).
3. Die Ausgabe ist offenbar das Ergebnis der toString()-Methode von deiner Appearance-Klasse. Wieso sollte diese Ausgabe den formatter verwenden?

Die Objekte werden am Ende nicht in dieser Klasse erzeugt, das habe ich so nur gemacht um mein Problem zu verstehen. Wie bekomme ich das Problem jetzt aber gelöst, das meine toString-Methode das Datum so ausspuckt wie ich das möchte?!
Mein Problem ist, dass wenn ich das Datum mit dem DateTimeFormatter in einen String parse, das nicht mehr mit meiner Appearance-Klasse
public Appearance(Performer performer, Stage stage, LocalDateTime begin, LocalDateTime end)
zusammenarbeitet.
 

Harry Kane

Top Contributor
Dann musst du deiner Appearance-Klasse mitteilen, welches Format du zur Ausgabe der LocalDateTime-Instanzen verwenden möchtest. Dies könnte du z. B. über eine static Variable vom Typ DateTimeFormatter lösen, die über einen static setter gesetzt werden kann. "static" führt dazu, dass alle Instanzen einer Klasse eine Variable gemeinsam benutzen. Dieses Verhalten ist meistens unerwünscht, hier erscheint es mir aber statthaft.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Unsicher, ob das Code richtig ist Allgemeine Java-Themen 4
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
L Dateien richtig auslesen Allgemeine Java-Themen 6
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
Thallius Wie parse ich dieses Datum richtig? Allgemeine Java-Themen 5
X Files.walkFileTree zählt nicht richtig Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
H .jar Datei startet nicht richtig bei Doppelklick Allgemeine Java-Themen 11
N Java MVC Pattern richtig anwenden Allgemeine Java-Themen 24
N HashMap und Methoden richtig einbinden Allgemeine Java-Themen 2
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
The Pi Android TextView richtig formatieren Allgemeine Java-Themen 1
MaxG. Bilddateien richtig einbinden Allgemeine Java-Themen 9
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
F ExecutorService richtig anwenden Allgemeine Java-Themen 0
J .exe Dateien werden nicht gestartet obwohl Pfad richtig Allgemeine Java-Themen 6
N event_scheduler richtig setzen? Allgemeine Java-Themen 1
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
buggy84 Ausführen einer Batch mit Parameterübergabe funktioniert nicht richtig Allgemeine Java-Themen 18
G Tabelle wird nicht richtig dargestellt Allgemeine Java-Themen 9
A Datenstrukturen richtig anlegen/laufzeitanalyse Allgemeine Java-Themen 10
I Datei wird nicht richtig gelöscht Allgemeine Java-Themen 7
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
K Thread richtig benutzen Allgemeine Java-Themen 3
H [Logback || log4j] Wie richtig loggen / Log Instanzen verwalten Allgemeine Java-Themen 2
K Spiele starten nicht richtig Allgemeine Java-Themen 2
N Collisiondetection - Richtig gemacht? Allgemeine Java-Themen 4
L repaint() methode funktioniert nicht richtig! Allgemeine Java-Themen 3
propra MVC richtig umgesetzt? Allgemeine Java-Themen 16
A String.split() funktioniert nicht richtig Allgemeine Java-Themen 4
B Text wird nicht richtig angezeigt Allgemeine Java-Themen 9
D Thread-Array (richtig) überwachen Allgemeine Java-Themen 3
C Variablenwert wird nicht richtig zurückgegeben Allgemeine Java-Themen 8
C Reguläre Ausrücke Punkte im Satz richtig erkennen Allgemeine Java-Themen 6
D Java läuft nicht richtig Allgemeine Java-Themen 12
H List wird nicht richtig gefüllt Allgemeine Java-Themen 6
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
T Array durchsuchen - aber richtig Allgemeine Java-Themen 7
C cmd Programm arbeitet nicht richtig Allgemeine Java-Themen 3
L ANT - So richtig? Allgemeine Java-Themen 4
A Java-Anwendung "richtig" schließen ohne JVM zu beenden Allgemeine Java-Themen 2
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
I Wie richtig kommentieren? Allgemeine Java-Themen 33
G Welche Schreibeweise ist richtig Allgemeine Java-Themen 16
G Font richtig vergrößern Allgemeine Java-Themen 4
M TransferHandler.exportDone will nicht so richtig Allgemeine Java-Themen 2
V Java-Programm richtig neustarten? Allgemeine Java-Themen 9
S Model richtig aktualisieren Allgemeine Java-Themen 7
J jar mit nicht richtig installierter JRE !? Allgemeine Java-Themen 2
D SwingWorker, was ist richtig? Allgemeine Java-Themen 2
H Kommunikation mit einem c-Prozess funzt nicht richtig Allgemeine Java-Themen 5
R Thread funktioniert nicht richtig Allgemeine Java-Themen 8
G Date wird nicht richtig geparsed Allgemeine Java-Themen 3
F Wie Fachthemen richtig erklären? Allgemeine Java-Themen 6
E .jar - Datei funktioniert nicht richtig Allgemeine Java-Themen 10
G JTable wird nicht richtig aufgebaut Allgemeine Java-Themen 9
A Wie liefere ich mein Java-Programm richtig aus? Allgemeine Java-Themen 10
P Speicherresourcen schonen - WeakReferences richtig einsetzen Allgemeine Java-Themen 6
P Garbage Collector funktioniert nicht richtig? Allgemeine Java-Themen 12
M Datum nicht richtig geprüft, warum? Allgemeine Java-Themen 9
Ebb String-Array richtig löschen! Allgemeine Java-Themen 3
H Bilder richtig speichern und laden Allgemeine Java-Themen 4
G Geistercode beim Compilern *_* ( ja ihr lest richtig ) Allgemeine Java-Themen 6
M Speichernutzung wohl nicht richtig verstanden? Allgemeine Java-Themen 6
C MVC richtig einsetzen Allgemeine Java-Themen 30
M Umlaute richtig dastellen? Allgemeine Java-Themen 4
U ASCII ZEichenkette wird net richtig ausgegeben Allgemeine Java-Themen 2
S AWT Threads richtig beenden! Wie? Allgemeine Java-Themen 9
C Java-Uhren ticke nicht richtig? Allgemeine Java-Themen 3
M Java 1.5 <> 1.4 - Nicht richtig abwärtskompatibel? Allgemeine Java-Themen 13
I Ist JNI hier richtig? Allgemeine Java-Themen 8
T Fließkomma (double) richtig runden Allgemeine Java-Themen 7
R Float richtig in Integer ? Allgemeine Java-Themen 4
S Tipps: java richtig lernen - wie? Allgemeine Java-Themen 3
J Wie stoppe ich einen Thread richtig? Allgemeine Java-Themen 21
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
X JDK installieren Weiß jemand, wie ich GCJ (WINDOWS) installieren und anwenden kann? Allgemeine Java-Themen 11
N Wo kann man Java im automativen Bereich anwenden? Allgemeine Java-Themen 7
W String Parsen und auf eigenes Muster anwenden (kein Regex) Allgemeine Java-Themen 11
A In Excel-Datei schreiben, Formeln der Mappe anwenden, Wert lesen Allgemeine Java-Themen 3
K Input/Output Integer.parseInt() an Textdateien anwenden Allgemeine Java-Themen 2
Y POI auf eine Referenz (Datei/Internetseite) anwenden Allgemeine Java-Themen 9
M Verschlüsselung anwenden Allgemeine Java-Themen 6
J Array Sortierung auf andere Arrays anwenden Allgemeine Java-Themen 6
D befehl auf mehrere objekte anwenden Allgemeine Java-Themen 7
S Properties-Dateien anwenden Allgemeine Java-Themen 8
Y Reflection - wie anwenden/benutzen bei folgendem Problem Allgemeine Java-Themen 3
L Wie Pattern anwenden um Cipher zu nutzen Allgemeine Java-Themen 2
B KeyListener auf mehrere TextFields anwenden Allgemeine Java-Themen 5
T compareTo auf eine Klasse anwenden Allgemeine Java-Themen 20

Ähnliche Java Themen

Neue Themen


Oben