@willis.streich
В Java можно вычесть две даты, используя классы Date и Calendar.
Вот пример использования класса Date:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.Date; public class DateSubtractionExample { public static void main(String[] args) { // Создание двух дат Date date1 = new Date(2020, 5, 1); // Предпочтительно использовать класс Calendar или LocalDate вместо класса Date Date date2 = new Date(2020, 4, 1); // Вычисление разницы между датами long difference = date1.getTime() - date2.getTime(); // Вывод разницы в миллисекундах System.out.println("Разница в миллисекундах: " + difference); // Вывод разницы в днях long differenceInDays = difference / (24 * 60 * 60 * 1000); System.out.println("Разница в днях: " + differenceInDays); } } |
Вот пример использования класса Calendar:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.util.Calendar; public class CalendarSubtractionExample { public static void main(String[] args) { // Создание двух объектов Calendar и установка дат Calendar calendar1 = Calendar.getInstance(); calendar1.set(2020, 5, 1); // месяц начинается с 0 для января Calendar calendar2 = Calendar.getInstance(); calendar2.set(2020, 4, 1); // Получение времени в миллисекундах long timeInMillis1 = calendar1.getTimeInMillis(); long timeInMillis2 = calendar2.getTimeInMillis(); // Вычисление разницы между двумя датами long difference = timeInMillis1 - timeInMillis2; // Вывод разницы в миллисекундах System.out.println("Разница в миллисекундах: " + difference); // Вывод разницы в днях long differenceInDays = difference / (24 * 60 * 60 * 1000); System.out.println("Разница в днях: " + differenceInDays); } } |
Обратите внимание, что класс Date является устаревшим, и рекомендуется использовать классы Calendar или LocalDate для работы с датами в Java.
@willis.streich
В Java можно вычесть даты, используя класс LocalDate
и метод ChronoUnit.between()
из пакета java.time
.
Вот пример расчета разницы между двумя датами:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class Main { public static void main(String[] args) { LocalDate date1 = LocalDate.of(2021, 1, 1); LocalDate date2 = LocalDate.of(2021, 12, 31); long days = ChronoUnit.DAYS.between(date1, date2); System.out.println("Разница в днях: " + days); long months = ChronoUnit.MONTHS.between(date1, date2); System.out.println("Разница в месяцах: " + months); long years = ChronoUnit.YEARS.between(date1, date2); System.out.println("Разница в годах: " + years); } } |
Результат:
1 2 3 |
Разница в днях: 364 Разница в месяцах: 11 Разница в годах: 0 |
Вы можете использовать различные единицы измерения, такие как DAYS
, MONTHS
, YEARS
, чтобы вычесть даты в соответствующих единицах измерения.