Różnica dni wyszukiwania w Javie

Po zapoznaniu się z kilkoma forami, wykorzystałem poniższy kod, aby znaleźć różnicę dni. Ale widzę problem z logiką (może to jest mój wzrok?). Widzę, że różnica dni od 11 do 14 i od 11 do 15 jest taka sama. Jak to jest możliwe?

Date createdDate = new Date((2013 + 1900), (1 + 1), 11);
Date expirationDate = new Date((2013 + 1900), (1 + 1), 11);
for (int i = 11; i < 20; i++) {
    expirationDate.setDate(i);

    System.out.println("11 to " + i + " = "
            + (int) (expirationDate.getTime() - createdDate.getTime())
            / (1000 * 60 * 60 * 24));
}

Dane wyjściowe to:

11 to 11 = 0
11 to 12 = 1
11 to 13 = 2
11 to 14 = 3
11 to 15 = 3
11 to 16 = 4
11 to 17 = 5
11 to 18 = 6
11 to 19 = 7

questionAnswers(5)

yourAnswerToTheQuestion