This week's book giveaways are in the iOS and Features new in Java 8 forums. We're giving away four copies each of Barcodes with iOS: Bringing together the digital and physical worlds and Core Java for the Impatient and have the authors on-line! See this thread and this one for details.
This doesn't change anything. It retrieves the same year and day, but instead of the month it retrieves the day of the week in the month (Calendar.MONTH = 2, Calendar.DAY_OF_WEEK_IN_MONTH = 8 so 6 more than Calendar.MONTH).
What you want to do is modify the calendar to add (hint, hint) 6 months, then retrieve the 3 values again.
Oh, and the months are 0-based; Calendar.JANUARY is 0. To make the months 1-based use the following:
This will always work, even if Calendar.JANUARY would ever change to 1 (which it won't).