Если я попытаюсь вычесть от 1 до 29 дней, дата возврата верна, но если я попытаюсь вычесть более 30 дней, то дата возврата неверна. Кто-нибудь может объяснить, где я ошибаюсь?Почему вычитание более 30 дней приводит к неправильному ответу
public class MapTesting {
public static void main(String[] args) {
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-dd-MM");
try {
Date date = ft.parse("2011-01-10");
Date su=new Date(date.getTime()-30*24*3600*1000);
System.out.println(su);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
Какой результат вы получаете, и что вы ожидали? –
Что вы нашли, когда вы перешли код в своем отладчике? – csmckelvey
use 30 * 24 * 3600 * 1000L – ashiquzzaman33