Entendiendo java.util.Calendar WEEK_OF_YEAR [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Por qué el 31 de diciembre de 2010 devuelve 1 como semana del año? 6 respuestas

Estoy tratando de entender comojava.util.Calendar.get(java.util.Calendar.WEEK_OF_YEAR) Funciona, pero parece que me faltan algunos puntos.

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) ¿Devuelve 1 para la última semana del año?

Además,WEEK_OF_YEAR para"1998-01-01" es 1 y para"1998-12-23" es 52
¿Alguien tiene una explicación para este comportamiento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta