tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
45394
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    Hallo Zusammen, wollte einen String in ein DAte umwandeln. aber jedes mal bekomme ich eine exception. unparseable Date:""

    also das krieg ich andauern in meinem ExceptionBlock.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     
                    String newTagesdatum = tmpTagesdatum + " 11:11:11";
                    String newAktualisierungsdatum = AktualisierungsStand + " 11:11:11";
                    
                    try{
                        SimpleDateFormat sdfToDate = new SimpleDateFormat( "dd.MM.yyyy HH:mm:ss" );
                        Date date1 = sdfToDate.parse("");
                        Date date2 = sdfToDate.parse("");
                    }catch(ParseException ex2){
                        
                        log("Fehler");
                    }

    Als Beispiel:
    tmpTagesdatum enthält "02.02.2008"
    newTagesdatum enthält "02.02.2008 11:11:11"

    aber warum geht es nicht, was mache ich falsch?
     

  2. #2
    Avatar von shutdown
    shutdown shutdown ist offline Mitglied Smaragd
    Registriert seit
    Jun 2004
    Beiträge
    1.026
    Weil du einen LeerString parsen willst?!

    Date date1 = sdfToDate.parse("");
    Date date2 = sdfToDate.parse("");
     
    Versuche nie Probleme zu lösen, von deren Existenz du noch gar nichts weißt!

  3. #3
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    oh mein Fehler, in dem Date date1 = sdfToDate.parse("");
    steht die Variable newTagesdatum die den Wert: "02.02.2008 11:11:11" enthält. und wenn ich das mache geht es nicht!!

    war kurz ein schreibfehler von mir....
     

  4. #4
    Avatar von shutdown
    shutdown shutdown ist offline Mitglied Smaragd
    Registriert seit
    Jun 2004
    Beiträge
    1.026
    Folgendes läuft bei mir fehlerfrei durch:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
        public static void main(String[] args) {
     
            String tmpTagesdatum = "02.02.2008";
     
            String newTagesdatum = tmpTagesdatum + " 11:11:11";
     
            try {
                SimpleDateFormat sdfToDate = new SimpleDateFormat(
                        "dd.MM.yyyy HH:mm:ss");
                Date date1 = sdfToDate.parse(newTagesdatum);
                System.out.println(date1);
            } catch (ParseException ex2) {
                ex2.printStackTrace();
     
            }
        }
     
    Versuche nie Probleme zu lösen, von deren Existenz du noch gar nichts weißt!

  5. #5
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    ja muss mich dafür sehr entschuldigen, habe noch mal geprüft und es funktioniert wirklich. habe anscheinend wirklich gestern einen null-string übergeben. Leichtsinn von mir... sorry...

    und jetzt will ich die beiden Datume vergleichen. Wenn datum1 > datum 2 ist....also ganz normales IF-Statement.
    wie mache ich das? muss ich erst die Millisekunden mir holen mit getTime()? oder gibts besseres?
     

  6. #6
    Avatar von procurve
    procurve procurve ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    158
    Es müsste da was mit dem GregorianCalendar gehen mein ich.
    Ansonsten ist das Umwandeln in ms mit getTime() natürlich auch eine gute Alternative.
     

  7. #7
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    habe jetzt mal getTime() eingebaut, doch das mit den Millisekunden verunsichert mich ein wenig *G*
    --> das system muss über jahre hinweg sauber laufen. und muss immer das tagesdatum prüfen gegen ein frei konfigurierbares datum...
    wenn das tagesdatum > als das konfigurierbare ist, dann soll ein Download stattfinden...

    dumme Frage mal:
    ist denn die Umrechnung von Millisekunden immer richtig? kann mir das gerade nicht so vorstellen das da richtig umgerechnet wird.

    entspricht das frühere datum immer weniger Millisekunden als das spätere datum ist das immer so?

    z.B 10.10.2008 zu 10.10.2010
     

  8. #8
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    905
    Die Millisekunden werden von einem festen Zeitpunkt aus gerechnet...1. Januar 1970 UTC oder so.... diese werden auch im Hintergrund verwendet, um den Zeitpunkt wirklich zu speichern.

    Vielleicht empfiehlt sich (je nachdem wie oft du noch mit Daten hantieren musst) die http://joda-time.sourceforge.net/ zu verwenden.

    Ansonsten ist es über die Millisekunden der einfachste Weg.
    Geändert von Anime-Otaku (21.02.08 um 10:43 Uhr)
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

  9. #9
    Avatar von shutdown
    shutdown shutdown ist offline Mitglied Smaragd
    Registriert seit
    Jun 2004
    Beiträge
    1.026
    Hier mal die API, über die alle Fragen bisher geklärt werden konnten
    http://java.sun.com/javase/6/docs/api/

    Versuchs mal mit den Methoden before bzw after der Klasse Date
     
    Versuche nie Probleme zu lösen, von deren Existenz du noch gar nichts weißt!

  10. #10
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    ja danke danke! aber ich bleibe jetzt bei Millisekunden. wenn von 1970 gerechnet wird, dann muss das einfach passen.. super danke nochmal
     

Ähnliche Themen

  1. Date(r) Datum umwandeln
    Von h4dhunTer im Forum PHP
    Antworten: 2
    Letzter Beitrag: 20.04.08, 16:34
  2. String in Date umwandeln
    Von eagle1985 im Forum Java
    Antworten: 2
    Letzter Beitrag: 18.12.07, 22:13
  3. Sekunden in date und time umwandeln
    Von jma im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 29.08.05, 10:09
  4. VBA Umwandeln von string in date
    Von ronnyk im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 21.06.04, 16:39
  5. date() in Deutsch umwandeln...
    Von bernhardp im Forum PHP
    Antworten: 8
    Letzter Beitrag: 16.03.04, 18:04