Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Handling Weeks in Java 7

DZone's Guide to

Handling Weeks in Java 7

Learn a handy trick to incorporate and output the number of weeks in the year in your code.

· Java Zone
Free Resource

Just released, a free O’Reilly book on Reactive Microsystems: The Evolution of Microservices at Scale. Brought to you in partnership with Lightbend.

Some 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.

Strategies and techniques for building scalable and resilient microservices to refactor a monolithic application step-by-step, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:
java 7 ,java ,calendar

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}