Entendendo java.util.Calendar WEEK_OF_YEAR [duplicado]

Esta questão já tem uma resposta aqui:

Por que dezembro 31 2010 retorna 1 como semana do ano? 6 respostas

Estou tentando entender comojava.util.Calendar.get(java.util.Calendar.WEEK_OF_YEAR) funciona, mas parece que estou perdendo alguns pontos.

String time = "1998-12-31"; // year month day
java.util.Calendar date = java.util.Calendar.getInstance();
date.setTime((new java.text.SimpleDateFormat("yyyy-MM-dd")).parse(time));
System.err.println("Week of year = " + date.get(java.util.Calendar.WEEK_OF_YEAR));
// Week of year = 1 Why ???

Por quêdate.get(java.util.Calendar.WEEK_OF_YEAR) retorna 1 para a última semana do ano?

Além disso,WEEK_OF_YEAR para"1998-01-01" é 1 e para"1998-12-23" é 52.
Alguém tem uma explicação para esse comportamento?

questionAnswers(2)

yourAnswerToTheQuestion