java.util.Date для преобразования java.sql.Date дает неверный месяц

Рассмотрим следующий фрагмент:

Calendar futureDate = Calendar.getInstance();
int year = 2011;
int month = 11;
int day = 14;
futureDate.set(year,month, day);
System.out.println(futureDate.toString());
java.sql.Date sqlDate  = new java.sql.Date( futureDate.getTime().getTime());

Распечатка из futureDate.toString ():

..... ГОД = 2011, МЕСЯЦ = 11, WEEK_OF_YEAR = 43, WEEK_OF_MONTH = 4, DAY_OF_MONTH = 14, day_of_year = 289, DAY_OF_WEEK = 1, DAY_OF_WEEK_IN_MONTH = 3, AM_PM = 0, ЧАС = 11, HOUR_OF_DAY = 11, МИНУТНЫЙ = 32, ВТОРОЙ = 51, миллисекунды = 117, ZONE_OFFSET = -18000000, DST_OFFSET = 3600000]

который показывает, что объект Calendare содержит правильную дату. Однако после преобразования в sql дату и сохранения в базе данных (MySQL через JDBC) в таблице MySQL для этой даты вместо «2011-11-14» отображается «2011-12-14». Я бы заподозрил локаль и часовой пояс, но это может привести к расхождению во времени дня, а не в месячной части даты.

Любые подсказки, что я сделал не так?

Ответы на вопрос(2)

Ваш ответ на вопрос