Handling Weeks in Java 7
Learn a handy trick to incorporate and output the number of weeks in the year in your code.
Join the DZone community and get the full member experience.
Join For FreeSome applications, in their business logic, deal 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 the 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));
}
}
}
Number of weeks in this year: 53. The above code will give the following output
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.
Opinions expressed by DZone contributors are their own.
Comments