Un bug dans la semaine de l'année dans le calendrier Java? [dupliquer]
Cette question a déjà une réponse ici:
Le code suivant calcule la semaine de travail d'une date spécifique.
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal = new GregorianCalendar();
cal.setTime(df.parse("2015-12-27 08:00:00"));
System.err.printf("%d.%02d\n", cal.getWeekYear(), cal.get(Calendar.WEEK_OF_YEAR));
Il imprime actuellement 2016.01.
Si je comprends bien la spécification du numéro de semaine de travail, 2016.01 est la première semaine ayant 4 jours en 2016, mais il n'y a aucun moyen que le 27 décembre puisse appartenir à une telle semaine.
Existe-t-il un moyen de le faire en Java 7 qui fonctionnera pour toute année en supposant que les semaines commencent le lundi?
8
Author: Wyatt Shipman, 2016-01-05
1 answers
Essayez de définir le lundi comme premier jour de la semaine.
cal.setFirstDayOfWeek(Calendar.MONDAY);
6
Author: Konstantinos Chalkias, 2016-01-05 09:29:55