Displaying Date by weekday name : Gregorian Calendar « Data Type « Java Tutorial

import static java.util.Calendar.DATE;
import static java.util.Calendar.DAY_OF_WEEK;
import static java.util.Calendar.MONTH;
import static java.util.Calendar.YEAR;
import java.text.DateFormatSymbols;
import java.util.GregorianCalendar;

public class MainClass {
  public static void main(String[] args) {

    GregorianCalendar birthdate = new GregorianCalendar(1999, 1, 1);
    GregorianCalendar today = new GregorianCalendar(); // Today's date
    GregorianCalendar birthday = new GregorianCalendar(today.get(YEAR), birthdate.get(MONTH),
    int age = today.get(today.YEAR) - birthdate.get(YEAR);
    String[] weekdays = new DateFormatSymbols().getWeekdays(); // Get day names
    System.out.println("You were born on a " + weekdays[birthdate.get(DAY_OF_WEEK)]);
    System.out.println("This year you " + (birthday.after(today) ? " will be " : "are ") + age
        + " years old.");
    System.out.println("In " + today.get(YEAR) + " your birthday "
        + (today.before(birthday) ? "will be" : "was") + " on a "
        + weekdays[birthday.get(DAY_OF_WEEK)] + ".");
You were born on a Monday
This year you  will be 8 years old.
In 2007 your birthday will be on a Thursday.

2.40.Gregorian Calendar
2.40.1.Creating Gregorian Calendars
2.40.2.Specifying the locale(TimeZone) explicitly for Gregorian Calendar
2.40.3.Creating a Calendar object from a locale
2.40.4.Creating a Date Object for a Particular Date
2.40.5.Setting the Date and Time
2.40.6.Setting a GregorianCalendar object to a particular date
2.40.7.Integer constants for the third version of set()
2.40.9.Set with GregorianCalendar.YEAR, MONTH and DATE
2.40.10.Getting Date and Time Information: get the day of the week
2.40.11.Using a switch statement on the values for day
2.40.12.Modifying Dates and Times: adding 14 to the year
2.40.13.To go into the past: making the second argument negative in the 'add' method
2.40.14.To increment or decrement a field of a calendar by 1 using the roll() method
2.40.15.Comparing Calendars
2.40.16.Displaying Date by weekday name
2.40.17.Printing out weekday names
2.40.18.Determine the day of the week