Weet iemand wat voor systeeminstelling invloed heeft op de Java Calendar onder windows? Ik zie namelijk een vooralsnog onverklaard verschil tussen mijn computer en die van een collega.
Bij het opvragen van het weeknummer van de huidige datum (24-8-2016) krijg ik op mijn machine keurig weeknummer 34 terug in de nl_NL locale. (35 als ik US opgeef, en 34 met DE).
Maar bij een collega (en alleen die collega) die daadwerkelijk met de software werkt komt er steevast weeknummer 35 uit, en de reden snap ik niet. In Outlook kloppen de weeknummers op beide machines wel gewoon, wat het probleem naar Java lijkt te isoleren.
We draaien allebei windows 10, en ik heb dezelfde JRE, jre1.8.0_101 (javaw.exe versie 8.0.1010.13) erbij gepakt.
Als test heb ik een klein progje gemaakt wat het verschil netjes aangeeft:
Op de computer van mijn collega komt er bij de weeknummers doodleuk steeds 35 uit, ook waar 34 wordt verwacht. Bij mij klopt het wel allemaal.
Bij het zoeken naar dit probleem komt ik alleen maar het euvel tegen dat mensen zich niet bewust waren van het verschil in weeknotaties tussen verschillende locales (US definieert de eerste week van het jaar anders dan dat wij en DE dat doen).
Door de region aan te passen op mijn pc kan ik het probleem niet reproduceren in ieder geval, en eigenlijk had ik verwacht dat de default locale het probleem zou zijn, maar dat is het ook niet.
Iemand een idee wat het probleem kan zijn?
Bij het opvragen van het weeknummer van de huidige datum (24-8-2016) krijg ik op mijn machine keurig weeknummer 34 terug in de nl_NL locale. (35 als ik US opgeef, en 34 met DE).
Maar bij een collega (en alleen die collega) die daadwerkelijk met de software werkt komt er steevast weeknummer 35 uit, en de reden snap ik niet. In Outlook kloppen de weeknummers op beide machines wel gewoon, wat het probleem naar Java lijkt te isoleren.
We draaien allebei windows 10, en ik heb dezelfde JRE, jre1.8.0_101 (javaw.exe versie 8.0.1010.13) erbij gepakt.
Als test heb ik een klein progje gemaakt wat het verschil netjes aangeeft:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| package com.wtf.calendar; import java.text.ParseException; import java.util.Calendar; import java.util.Locale; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.WindowConstants; public class CalendarCheck { public static void main(String[] args) throws ParseException { Calendar calUs = Calendar.getInstance(Locale.US); String usToday = "deze week US: \t\t" + calUs.get(Calendar.WEEK_OF_YEAR) + " (zou 35 moeten zijn op 24-8-2016)"; Calendar calDe = Calendar.getInstance(Locale.GERMAN); String deToday = "deze week DE: \t\t" + calDe.get(Calendar.WEEK_OF_YEAR) + " (zou 34 moeten zijn op 24-8-2016)"; Calendar calDef = Calendar.getInstance(); String defToday = "deze week default: \t" + calDef.get(Calendar.WEEK_OF_YEAR) + " (zou 34 moeten zijn op 24-8-2016)"; JFrame frame = new JFrame("Gedonder met kalender"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JTextArea textArea = new JTextArea(20, 2); String defaultLocale = "Default locale: " + Locale.getDefault() + "\t(zou nl_NL moeten zijn)"; textArea.setText("vandaag:\n" + usToday + "\n" + deToday + "\n" + defToday+"\n"+defaultLocale); JScrollPane scrollPane = new JScrollPane(textArea); frame.add(scrollPane); frame.setSize(600, 400); frame.setVisible(true); } } |
Op de computer van mijn collega komt er bij de weeknummers doodleuk steeds 35 uit, ook waar 34 wordt verwacht. Bij mij klopt het wel allemaal.
Bij het zoeken naar dit probleem komt ik alleen maar het euvel tegen dat mensen zich niet bewust waren van het verschil in weeknotaties tussen verschillende locales (US definieert de eerste week van het jaar anders dan dat wij en DE dat doen).
Door de region aan te passen op mijn pc kan ik het probleem niet reproduceren in ieder geval, en eigenlijk had ik verwacht dat de default locale het probleem zou zijn, maar dat is het ook niet.
Iemand een idee wat het probleem kan zijn?
"Take the risk of thinking for yourself. Much more happiness, truth, beauty, and wisdom will come to you that way." -Christopher Hitchens | In memoriam? 🏁 ipv kruis!