1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Problem mit java.util.Calendar

  • Old Thrashbarg
  • 22. März 2010 um 12:15
  • Unerledigt
  • Old Thrashbarg
    5
    Old Thrashbarg
    Mitglied
    Reaktionen
    2
    Punkte
    212
    Beiträge
    34
    • 22. März 2010 um 12:15
    • #1

    Hallo!
    Ich hab ein Problem mit dem java.util.Calendar. Und stehe da offensichtlich gerade auf der Leitung.

    Ich möchte wissen, welchem Wochentag ein bestimmtes Datum entspricht. Dazu hab ich zum Testen folgendes geschrieben:

    Java
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    
    
    public class Test {
        public static void main(String[] args){
            Calendar c1 = new GregorianCalendar(2010, 03, 22);
            System.out.println(c1.get(Calendar.DAY_OF_WEEK));
        }
    }

    Bei dem Datum handelt es sich um einen Montag. Wieso ist der Output dann 5? Sollte das nicht 2 sein?

    Hier noch der Link zu den Konstanten:
    http://java.sun.com/j2se/1.4.2/docs/api/constant-values.html

    Vielleicht findet ja jemand das Problem. Das kann ja nicht mit Timezone oder FirstDayOfWeek zusammenhängen...

  • 3dm45t3r
    1
    3dm45t3r
    Mitglied
    Punkte
    5
    Beiträge
    1
    • 22. März 2010 um 12:24
    • #2
    Zitat von Old Thrashbarg

    Hallo!
    Ich hab ein Problem mit dem java.util.Calendar. Und stehe da offensichtlich gerade auf der Leitung.

    Ich möchte wissen, welchem Wochentag ein bestimmtes Datum entspricht. Dazu hab ich zum Testen folgendes geschrieben:

    Java
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    
    
    public class Test {
        public static void main(String[] args){
            Calendar c1 = new GregorianCalendar(2010, 03, 22);
            System.out.println(c1.get(Calendar.DAY_OF_WEEK));
        }
    }

    Bei dem Datum handelt es sich um einen Montag. Wieso ist der Output dann 5? Sollte das nicht 2 sein?

    Hier noch der Link zu den Konstanten:
    http://java.sun.com/j2se/1.4.2/docs/api/constant-values.html

    Vielleicht findet ja jemand das Problem. Das kann ja nicht mit Timezone oder FirstDayOfWeek zusammenhängen...



    Der Monat beim Calendar ist 0 basierend, also wenn du März willst dann wäre die eingabe (2010,2,22)

    lg

  • Old Thrashbarg
    5
    Old Thrashbarg
    Mitglied
    Reaktionen
    2
    Punkte
    212
    Beiträge
    34
    • 22. März 2010 um 12:34
    • #3

    Vielen Dank! Eh klar. Auf das wäre ich noch länger nicht gekommen. Manchmal ist man einfach mit Blindheit geschlagen.

  • bluttraum
    1
    bluttraum
    Mitglied
    Punkte
    5
    Beiträge
    1
    • 22. März 2010 um 16:03
    • #4

    Deshalb verwendet man in deinem Fall für die Instantierung für den Monat auch Calendar.MARCH.
    Dann kann auch nichts danebengehen, wenn man nicht weiß, dass man bei 0 zu zählen beginnen sollte :grinning_face_with_smiling_eyes: außerdem ists im Code schöner zu lesen.

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 25. März 2010 um 09:58
    • #5

    java.util.Calendar und java.util.Date sind meiner Meinung nach die schwaechsten Punkte am JDK. Ich wuerde in jedem neuen Projekt auf Joda zurueckgreifen. Das ist eine wesentlich besser durchdachte API, und auch viel einfacher zu benutzen.

    lg, Benjamin Ferrari, bookworm.at

  • LordNecro
    11
    LordNecro
    Mitglied
    Reaktionen
    40
    Punkte
    1.140
    Beiträge
    211
    • 25. März 2010 um 14:47
    • #6
    Zitat von a9bejo

    java.util.Calendar und java.util.Date sind meiner Meinung nach die schwaechsten Punkte am JDK. Ich wuerde in jedem neuen Projekt auf Joda zurueckgreifen. Das ist eine wesentlich besser durchdachte API, und auch viel einfacher zu benutzen.



    Definitiv. Kann Joda ebenfalls nur empfehlen. Wobei ich sagen muss andere Sprachen stehen dem in nichts nach, da erleb ich auch immer wieder Aha Momente wenn ich die Datentypen benutze.

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 29. März 2010 um 16:28
    • #7

    Seit gestern gibt es uebrigens ein early draft review fuer ein offizielles JSR (JSR 310), das die derzeitigen Datumsklassen im JDK ersetzen will. Organisiert ist das vom project lead von Joda, dementsprechend orientiert sich JSR 310 auch stark danach.

    lg, Benjamin Ferrari, bookworm.at

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung