Try получать раз в миллисекундах и сравнивая их:
Date startDate = Start.getDate();
Date endDate = End.getDate();
// In milliseconds
long difference = endDate.getTime() - startDate.getTime();
int diffInDays = (int)(difference/1000/60/60/24);
Перед тем, как были вычитая Date
объекты, которые не являются числами. Вы хотите сравнить свое время, которое является числом.
Чтобы проверить, если JDateChooser
равна нулю, просто сделать:
if (Start == null) {
// code
}
или
if (Start != null) {
// code
}
Отказ от ответственности:
Вы никогда не должны вычитать два миллисекунды друг от друга, есть просто для многих правил, которые не учитываются (високосные годы, прыжки секунд, границы века, летние сбережения) чтобы сделать его даже отдаленно точным. Вы должны либо использовать API-интерфейс Java 8, либо JodaTi e (oh и дни не всегда 24 часа). - MadProgrammer.
Это быстрое и грязное решение, но есть много слабых случаев. Будьте осторожны.
Почему это не работает? –
система указала на плохие типы операндов для двоичного оператора '-' –