Date formatieren

beta20

Top Contributor
Hallo zusammen,
ich möchte einen String in ein entsprechendes Format wieder als String speichern.
Leider funktioniert das nicht und ich komme immer in die ParseException:

Code:
    String dateStr = "Fri Dec 15 00:00:00 CET 2017"
                        DateFormat readFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", localeBean.getLocale());
                        DateFormat writeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                        Date date = null;
                        try {
                            date = readFormat.parse(dateStr);
                        } catch (ParseException e) {
                            e.printStackTrace();
                        }

                        String formattedDate = "";
                        if (date != null) {
                            formattedDate = writeFormat.format(date);
                        }
 

krgewb

Top Contributor
Da fehlt das Semikolon
Java:
String dateStr = "Fri Dec 15 00:00:00 CET 2017"

Das ist dein Programm:
Java:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Hauptprogramm {

    public static void main(String[] args) {
        String dateStr = "Fri Dec 15 00:00:00 CET 2017";
        DateFormat readFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", localeBean.getLocale());
        DateFormat writeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Date date = null;
        try {
            date = readFormat.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        String formattedDate = "";
        if (date != null) {
            formattedDate = writeFormat.format(date);
        }
    }
}
Was ist localeBean?
 
Zuletzt bearbeitet:

beta20

Top Contributor
stimmt, das Semikolon fehlt - das ist aber nicht der Fehler.
localBean gibt mir die Locale aus, die der eingeloggte User hat...

Was passt da nicht?
 

krgewb

Top Contributor
Braucht man dazu eine spezielle Klasse?
Wieso nimmst du nicht Locale.getDefault()?

Bis zu welcher Zeile funktioniert dein Programm? Funktioniert die folgende Zeile?
Java:
date = readFormat.parse(dateStr);

Wenn es länderspezifisch ist muss dann nicht Dez statt Dec geschrieben werden?

Ich habe mal auf https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html geguckt. Beispiele für z sind:
  • Pacific Standard Time
  • PST
  • GMT-08:00
 

krgewb

Top Contributor
Bei folgendem Programm wird zwar keine Exception geworfen aber das Datum ist noch falsch (oder liegt das an der Zeitzone?):
Java:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Hauptprogramm {

    public static void main(String[] args) {

        String dateStr = "Freitag Dez 15 00:00:00 MESZ 2017";

        DateFormat readFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.getDefault());
        DateFormat writeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Date date = null;
        try {
            date = readFormat.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        String formattedDate = "";
        if (date != null) {
            formattedDate = writeFormat.format(date);
            System.out.println(formattedDate);
        }
    }
}
Ausgabe:
2017-12-14 23:00:00
 

beta20

Top Contributor
bei mir springt das Programm in die Exception:
Code:
java.text.ParseException: Unparseable date: "Thu Dec 07 00:00:00 CET 2017"
 

krgewb

Top Contributor
Wenn ich es so schreibe wird keine Exception geworfen:
Java:
String dateStr = "Donnerstag Dez 07 00:00:00 MESZ 2017";

Wenn eine Exception geworfen wird steht da z.B.
Code:
java.text.ParseException: Unparseable date: "Thu Dec 07 00:00:00 CET 2017"
    at java.text.DateFormat.parse(Unknown Source)
    at Hauptprogramm.main(Hauptprogramm.java:21)
Du musst dann auf "Hauptprogramm.java:21" klicken. Dann springt es zu der Zeile (in diesem Fall 21).
 

mrBrown

Super-Moderator
Mitarbeiter
Für die Nutzung von Date gehört man geteert und gefedert ;)

Wenn du das Datum in dem Format bekommst, dann nimm doch den passenden Locale dafür, und nicht den (quasi zufälligen) des Nutzers.
 

krgewb

Top Contributor
Java:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Hauptprogramm {

    public static void main(String[] args) {

        String dateStr = "Thu Dec 07 00:00:00 CET 2017";

        DateFormat readFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
        DateFormat writeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Date date = null;
        try {
            date = readFormat.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        String formattedDate = "";
        if (date != null) {
            formattedDate = writeFormat.format(date);
            System.out.println(formattedDate);
        }
    }
}
Ausgabe:
2017-12-07 00:00:00
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius Date für DatePicker formatieren aber wie? Java Basics - Anfänger-Themen 9
G Formatieren von Date-Objekten Java Basics - Anfänger-Themen 5
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
MiMa Date vs LocalDate/LocalDateTime Java Basics - Anfänger-Themen 13
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
M Umgang mit dem Type "Date" Java Basics - Anfänger-Themen 6
sserio Date Library Frage Java Basics - Anfänger-Themen 9
P "Datestamp" to Date oder Timestamp Java Basics - Anfänger-Themen 15
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
G convert Date to LocalDate Java Basics - Anfänger-Themen 11
G convert Optional<Date> into Optional<LocalDate> Java Basics - Anfänger-Themen 6
J Methoden toString()-Date Formatter Java Basics - Anfänger-Themen 8
L Java Date Format ändern Java Basics - Anfänger-Themen 5
B java.util.Date noch zeitgemäß? Java Basics - Anfänger-Themen 6
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
B Date - Umwandlung OffsetDateTime Java Basics - Anfänger-Themen 11
B Date Konvertierung Java Basics - Anfänger-Themen 0
L Datentypen Date API - diese Woche bestimmen Java Basics - Anfänger-Themen 1
D Unterschied Date - Calendar Java Basics - Anfänger-Themen 1
A Vererbungshierachie und java.util.Date Java Basics - Anfänger-Themen 31
agent47 Java 8 Locale Date Time Java Basics - Anfänger-Themen 2
S String zu Date Java Basics - Anfänger-Themen 6
L Java String to date? Java Basics - Anfänger-Themen 2
H Repräsentation von DateTime (Joda) in Java Util Date überführen Java Basics - Anfänger-Themen 3
I Date zu 01.01.<year> setzen Java Basics - Anfänger-Themen 1
H java date-time parser Java Basics - Anfänger-Themen 1
S Date parsen klappt nicht richtig Java Basics - Anfänger-Themen 3
A String to Date parsing Java Basics - Anfänger-Themen 2
M TimeUnit ms nach date convertieren Java Basics - Anfänger-Themen 2
B Date Object mit Millisekunden Ausgabe Java Basics - Anfänger-Themen 8
K Best Practice Date in einem Konstruktor angeben Java Basics - Anfänger-Themen 5
K Datum und Uhrzeit als Date Objekt Java Basics - Anfänger-Themen 10
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
N Change date Format Java Basics - Anfänger-Themen 2
P Date oder Kalender? Was soll man verwenden? Java Basics - Anfänger-Themen 2
M Simple Date Format Java Basics - Anfänger-Themen 2
S Erste Schritte Berechnung mit Daten aus CSV und Date Objekt Java Basics - Anfänger-Themen 2
D Java Date/Calendar Problem Java Basics - Anfänger-Themen 4
Kenan89 Java Date List Java Basics - Anfänger-Themen 4
L Date differenz Java Basics - Anfänger-Themen 6
algebraiker TreeMap<Date,Object> navigieren? Java Basics - Anfänger-Themen 24
B Datentypen Date Java Basics - Anfänger-Themen 11
K konvertiere Millisekunden in ein Utc Date Objekt Java Basics - Anfänger-Themen 5
G Date - Calender | "Vergleich" Java Basics - Anfänger-Themen 3
M Mal wieder Probleme mit Date Java Basics - Anfänger-Themen 9
A Datentypen Datum mit "May" zu Date parsen Java Basics - Anfänger-Themen 6
Blindxantos Datentypen Probleme bei util.Date zu sql.Date Java Basics - Anfänger-Themen 5
R Tage subtrahieren von einem Date() Java Basics - Anfänger-Themen 6
I Date um 1 Jahr erhöhen? Java Basics - Anfänger-Themen 17
F GMT für Date Objekte festlegen Java Basics - Anfänger-Themen 5
F Sekunden abschneiden bei Date Java Basics - Anfänger-Themen 4
L int TimeZone für Date Java Basics - Anfänger-Themen 3
N alter mit Date ausrechnen Java Basics - Anfänger-Themen 10
turmaline String zu Date konvertieren -> Unparseable date Java Basics - Anfänger-Themen 5
T java.util.Date Java Basics - Anfänger-Themen 5
C Date() ->das Datum von gestern ausgeben Java Basics - Anfänger-Themen 11
M Datentypen Wie initialisiere ich ein Objekt vom Typ Date? Java Basics - Anfänger-Themen 3
H OOP java.sql.Date does not have a no-arg default constructor Java Basics - Anfänger-Themen 2
L Date subtrahieren? Java Basics - Anfänger-Themen 10
G Date von heute mit Uhrzeit erzeugen Java Basics - Anfänger-Themen 9
H Unterschied zwischen 2 Date in Sekunden am einfachsten? Java Basics - Anfänger-Themen 5
I Null - Wert bei Date (Mysql) Java Basics - Anfänger-Themen 2
H Date-Objekt um einen Monat "erhöhen" Java Basics - Anfänger-Themen 7
A The method getYear() from the type Date is deprecated Java Basics - Anfänger-Themen 6
P Datum: String in Date umwandeln Java Basics - Anfänger-Themen 7
T mit Typen Date rechnen Java Basics - Anfänger-Themen 6
F java.sql.Date Differenz Java Basics - Anfänger-Themen 3
P Date geht auf UNIX 1 Stunde nach Java Basics - Anfänger-Themen 14
M Date-Problem Java Basics - Anfänger-Themen 3
H Einfaches Date-parse problem Java Basics - Anfänger-Themen 2
Developer_X Date Java Basics - Anfänger-Themen 4
Antoras Daten aus Date lesen Java Basics - Anfänger-Themen 3
G String in Date konvertieren Java Basics - Anfänger-Themen 6
W 2 Date()-Daten vergleichen Java Basics - Anfänger-Themen 6
W String in Date Java Basics - Anfänger-Themen 4
G SpinnerDateModel stard & end nur Date? Java Basics - Anfänger-Themen 4
H Date-Object "um eins erhöhen! Java Basics - Anfänger-Themen 4
G Anfänger: Problem mit Date Java Basics - Anfänger-Themen 3
S NullPointerException bei Date.setTime() Java Basics - Anfänger-Themen 3
M 2 Date()-Datum´s vergleichen Java Basics - Anfänger-Themen 9
C Java 7 Date Java Basics - Anfänger-Themen 9
L Timer und Date Java Basics - Anfänger-Themen 2
G SQL Date zu JAVA Date Java Basics - Anfänger-Themen 4
G String in Date casten. Java Basics - Anfänger-Themen 7
G String in Date casten Java Basics - Anfänger-Themen 4
G java.text.parseException: Unparseable Date Java Basics - Anfänger-Themen 7
U java.util.Date to java.sql.Date Java Basics - Anfänger-Themen 2
B JSpinner/Date auslesen Java Basics - Anfänger-Themen 3
S Datum umwandeln: String in Date umwandeln Java Basics - Anfänger-Themen 4
F date und time berechnungen Java Basics - Anfänger-Themen 2
J Date-Objekt formatiert als String ausgeben Java Basics - Anfänger-Themen 2
G Date Objekt für aktuelles Datum erzeugen Java Basics - Anfänger-Themen 9
G Objekte vom Typ Date vergleichen Java Basics - Anfänger-Themen 2
P JAVA in Exe Date ausführen Java Basics - Anfänger-Themen 7
B string 2 sql.date() Java Basics - Anfänger-Themen 8
G date in sekunden umwandeln und wieder zurück. Java Basics - Anfänger-Themen 6
A einlesen von date und boolean Java Basics - Anfänger-Themen 3
G String in java.sql.Date umwandeln Java Basics - Anfänger-Themen 4
W Java.mysql.date in GregorianCalender konvertieren Java Basics - Anfänger-Themen 2
W Aus Textfeld ein "MySQL Date" auslesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben