Pourquoi mon GregorianCalendar objet de renvoyer le mauvais jour de la semaine?

Mon problème est apparemment très simple. Je fais un calendrier de l'interface utilisateur graphique, à partir d'un GregorianCalendar objet, et utilise des méthodes pour calculer le bon nombre de jours dans le mois, et la date correspondant à des jours de la semaine.

Mais les jours de la semaine sont consistentyl un jour de congé. Le Calendrier des revendications que le 1er juillet 2013 est un '2', qui dans ma partie du monde, ce mardi. Il doit avoir été un '1' pour lundi. "Facile!" je pense que, et de les mettre dans la ligne: c.setFirstDayOfWeek(Calendrier.LUNDI); Mais pas de réaction est donné.

Donc, je recherche stackoverflow pour une réponse, mais tout le monde avec mon problème semble avoir oublié que janvier est 0 et non pas 1. Je n'ai pas. Alors maintenant, je suis coincé.

Comme un simplifyed code, j'ai fait un très court morceau de code, il est correspondant de sortie:

    GregorianCalendar c = new GregorianCalendar();
    c.setFirstDayOfWeek(Calendar.MONDAY);
    c.set(Calendar.MONTH, 6);
    c.set(Calendar.DAY_OF_MONTH, 1);
    c.set(Calendar.YEAR, 2013);

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");
    System.out.println(sdf.format(c.getTime()));
    System.out.println(c.get(Calendar.DAY_OF_WEEK));

et la sortie est:

01-07-2013

2

Je refuse de mettre dans un "-1" dans mon code, à tort, de corriger les symptômes de ce qui est évidemment une erreur. L'aide est appréciée.

Pour mieux aider plus tôt, après une SSCCE.
2 est lundi... 1 est dimanche... Aussi, setFirstDayOfWeek, selon la doc: The first week of a month or year is defined as the earliest seven day period beginning on getFirstDayOfWeek() and containing at least getMinimalDaysInFirstWeek() days of that month or year. Il n'y a pas de obvious mistake. Juste problème de localisation...
Merci. Maintenant, j'ai cessé d'essayer de définir le lundi comme le premier jour de la semaine. Il me semblait plus simple à modifier mon code d'attendre que le dimanche est le numéro 1, peu importe comment illogique, il me semble. Merci pour me dire que mon erreur a été mon interprétation de la setFirstDayOfWeek()-méthode. Qui aurait pu être dur à trouver sur mon propre. Je souhaite que je pourrais l'accepter comme une réponse, mais il semble que c'est seulement posté un commentaire.
Je serais heureux de l'apprendre à poser des questions mieux. Dans ce cas, j'ai certainement raccourcir le code pour inclure uniquement les détails de mon problème. Aussi loin que je peux voir, la seule chose qui manque pour qu'il soit exécutable, est une méthode principale et certaines importations. Mais s'il vous plaît, tous les détails ici serait la bienvenue.
Plus précisément, lire le document lié. Il n'y a plus d'un SSCCE que juste "court", et les choses que vous avez laissé de côté fait le code d'une courte "uncompilable extrait de code" (ou SUCS, si vous le souhaitez), par opposition à un SSCCE.

OriginalL'auteur KjetilNordin | 2013-10-02