Some applications in
their business logic deals with the number
of weeks in a year and the current
week of the year. There are 52 weeks in a year, but 52 weeks multiplied by
7 days per week equals 364 days per year, not the actual 365 days. A week
number is used to refer to the week of the year.
Java 7 has introduced several
methods to support determining the week of the year.
Some implementations of
the abstract java.util.Calendar class do not support week calculations. To determine
if the Calendar implementation supports week calculations, we need to execute
the isWeekDateSupported method. It
returns true if the support is provided. To return the number of weeks for the
current calendar year, use the getWeeksInWeekYear
method. To determine the week for the current date, use the get method with the
WEEK_OF_YEAR
as its argument.
Below is the code to get total
number of weeks and current week.
import
java.util.Calendar;
public class WeeksInYear {
public static void main(String[]
args) {
Calendar calendar = Calendar.getInstance();
if(calendar.isWeekDateSupported())
{
System.out.println("Number
of weeks in this year: " +
calendar.getWeeksInWeekYear());
System.out.println("Current
week number: " + calendar.
get(Calendar.WEEK_OF_YEAR));
}
}
}
|
The above code will give the following out put
Number of weeks in this year: 53
Current week number: 47
Explanation of Code
An instance of the Calendar class is
created, which is an instance of the
GregorianCalendar class. An if statement
was controlled by the isWeekDateSupported method. It returned true, which
resulted in the execution of the getWeeksInWeekYear and get methods. The get
method was passed in the field WEEK_OF_YEAR, which returned the current week
number.