tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
471
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    latogt latogt ist offline Mitglied
    Registriert seit
    Jan 2008
    Beiträge
    17
    Hallo,

    kann mir jemand zum Thema SimpleDateFormat weiterhelfen? Habe da ein kleines Problem, dass ich aber nicht verstehe. Vielleicht kann mir das jemand erklären:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    SimpleDateFormat sdf = new SimpleDateFormat("M-dd-yyyy HH:mm");
    Date date = sdf.parse("7-15-2010 17:30");
    println  date.getMonth();
    println  date.getDay();
    println date.getYear();
    println  date.getHours();
    println  date.getMinutes();

    Als Ausgab erwarte ich:
    7
    15
    2010
    17
    30

    Es kommt jedoch heraus:
    6
    4
    110
    17
    30

    Warum scheint die untere Ausgabe und nicht meine erwartete Ausgabe?
     

  2. #2
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    900
    date.getMonth();
    usw. ist deprecated und sollte nicht verwendet werden. Mach am einfachsten ein toString() um den Zeitpunkt formatiert auszugeben.

    Du bekommst da die java.util.Calendar Repräsentation zurück, da ist Januar=0. Geparsed wird es richtig, wie du bei der toString Ausgabe siehst.

    Ansonsten darf man SimpleDateFormat nicht multithreaded verwenden.
    Geändert von Anime-Otaku (18.08.10 um 12:35 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/

  3. #3
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Brokat
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    470
    Du könntest dir ein Calendar-Objekt anlegen und mit Hilfe dessen deine Werte holen...

    z.B.
    Code java:
    1
    2
    3
    
    Calendar cal = Calendar.getInstance(); // Gets a calendar using the default time zone and locale.
    cal.setTime(date);
    cal.get(Calendar.DAY_OF_MONTH);

    Oder du drehst das Spiel mit dem SimpleDateFormatter einfach wieder um...
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

Ähnliche Themen

  1. split() liefert kein Ergebnis
    Von Thomas D im Forum PHP
    Antworten: 3
    Letzter Beitrag: 29.08.10, 10:21
  2. [C] strtod liefert falsches Ergebnis
    Von Jadephoenix24 im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 07.07.08, 15:21
  3. C# SELECT liefert kein Ergebnis
    Von Deletemaster im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 05.02.07, 08:24
  4. mysql_affected_rows liefert kein Ergebnis
    Von helaukoenig im Forum PHP
    Antworten: 4
    Letzter Beitrag: 21.11.05, 16:05
  5. Boolean Subtraktion liefert unerwartetes Ergebnis
    Von the-cR im Forum 3D Studio Max
    Antworten: 7
    Letzter Beitrag: 23.04.03, 00:08