You're suffering from the same problem as
this thread - you use a 1-based month numbering whereas Calendar uses a 0-based month numbering.
But Greg is right. Calendar has a method called setTime which takes a Date object. Also, Calendar.getInstance() already returns a Calendar instance for the current moment, so in this case (where the Date is also the current moment) it's not necessary to call setTime.
One addition to Greg's post:
Greg Brannon wrote:convert int DAY_OF_WEEK to name of the day
return result
DateFormatSymbols can be used for that. The
String[] you're interested in is indexed using the return values of Calendar.get so no need for translations there.