Voor een door de gebruiker ingevoerd weeknummer wil ik de datum van de eerste dag bepalen volgens de ISO-standaard, dus:
- eerste week van de dag is maandag
- valt er in de eerste 4 dagen van het jaar een donderdag, dan telt die week als week 1
In mijn voorbeeld hier wil ik de datum van de eerste dag in week 9 van dit jaar pakken (zou maandag 27 februari moeten zijn):
Wanneer ik via calendar.getTime() de datum afdruk krijg ik:
Tue Feb 28 00:00:00 CET 2006
Ook wanneer ik de calendar aanmaak via:
krijg ik dezelfde datum terug. Blijkbaar doe ik toch iets niet goed, maar meer opties voor het bepalen van weeknummers / data heb ik nog niet kunnen vinden.
- eerste week van de dag is maandag
- valt er in de eerste 4 dagen van het jaar een donderdag, dan telt die week als week 1
In mijn voorbeeld hier wil ik de datum van de eerste dag in week 9 van dit jaar pakken (zou maandag 27 februari moeten zijn):
Java:
1
2
3
4
5
6
7
8
9
| Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.MONDAY); calendar.setMinimalDaysInFirstWeek(4); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); calendar.set(Calendar.YEAR, 2006); calendar.set(Calendar.WEEK_OF_YEAR, 9); |
Wanneer ik via calendar.getTime() de datum afdruk krijg ik:
Tue Feb 28 00:00:00 CET 2006
Ook wanneer ik de calendar aanmaak via:
Java:
1
| Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+1:00"), new Locale("nl_NL")); |
krijg ik dezelfde datum terug. Blijkbaar doe ik toch iets niet goed, maar meer opties voor het bepalen van weeknummers / data heb ik nog niet kunnen vinden.