1) You seem to be printing the contents of the constants, not the fields of the calendar represented by those fields.
You should use calendar.get(Calendar.MONTH), not just Calendar.MONTH
2) Months in Date and Calendar are 0-based. 1 does not mean January but February. To make it easier, compare to the constants like Calendar.FEBRUARY instead of comparing to the literal 1
3) Years in Date should have 1900 added. 109 actually means 1900 + 109, being 2009