Вычисление даты года Java выключено годом на два дня

Это вызвало ошибку в стиле Y2K в моем программном обеспечении, если вы можете себе представить. Странно то, что подсчет одного года происходит только в течение двух дней в году, и я менее уверен, как его устранить.

Выход:

03-Jan-2013
02-Jan-2013
01-Jan-2013
31-Dec-2013 ** strange
30-Dec-2013 ** strange
29-Dec-2012
28-Dec-2012
27-Dec-2012
26-Dec-2012
25-Dec-2012

Я не уверен, какая часть утилит даты Java может вызвать такую ошибку.

Код (так как тест настолько мал, я включил полную рабочую программу):

import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;

public class DateT {

        private static String getFormattedBackscanStartTime(int days) {

                SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-YYYY");
                Calendar workingDate = Calendar.getInstance();
                workingDate.add(Calendar.DATE, -1 * days);

                String formattedStartTime = dateFormat.format(workingDate.getTime());
                return formattedStartTime;
        }

        public static void main(String args[]) {

                for(int i = 35; i < 45; i++) {
                        System.out.println(getFormattedBackscanStartTime(i));
                }
        }
}

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

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