Класс Calendar
Класс Calendar - это абстрактный класс из пакета java.util,
который используется для работы с датой и временем. Он позволяет
получать и изменять отдельные компоненты даты: год, месяц, день,
часы, минуты, секунды и миллисекунды. Поскольку класс абстрактный,
создать его напрямую через new нельзя - вместо этого
используется статический метод getInstance, который возвращает
объект календаря с текущей датой и временем. Метод get принимает
в качестве параметра константу поля (например, Calendar.YEAR)
и возвращает значение этого поля, метод set принимает поле и
новое значение, а метод add принимает поле и величину, на которую
нужно увеличить или уменьшить это поле.
Синтаксис
Calendar calendar = Calendar.getInstance();
calendar.get(field);
calendar.set(field, value);
calendar.add(field, amount);
Пример
Давайте получим текущий год, месяц и день с помощью метода get:
import java.util.Calendar;
public class Main
{
public static void main(String[] args)
{
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year);
System.out.println(month);
System.out.println(day);
}
}
Результат выполнения кода:
2025
1
15
Пример
Обратите внимание: месяцы в классе Calendar нумеруются с нуля,
поэтому январь - это 0, а декабрь - 11. Давайте установим
конкретную дату с помощью метода set:
import java.util.Calendar;
public class Main
{
public static void main(String[] args)
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2025);
calendar.set(Calendar.MONTH, Calendar.MARCH);
calendar.set(Calendar.DAY_OF_MONTH, 8);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "-" + month + "-" + day);
}
}
Результат выполнения кода:
"2025-3-8"
Пример
Давайте добавим к текущей дате 10 дней с помощью метода add:
import java.util.Calendar;
public class Main
{
public static void main(String[] args)
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2025);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH, 10);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "-" + month + "-" + day);
}
}
Результат выполнения кода:
"2025-1-11"
Пример
Давайте вычтем 5 дней из текущей даты, передав в метод add
отрицательное число:
import java.util.Calendar;
public class Main
{
public static void main(String[] args)
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2025);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 10);
calendar.add(Calendar.DAY_OF_MONTH, -5);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "-" + month + "-" + day);
}
}
Результат выполнения кода:
"2025-1-5"
Смотрите также
-
класс
Calendar,
который представляет дату и время -
метод
getInstance,
который возвращает объект календаря -
метод
get,
который возвращает значение поля -
метод
add,
который изменяет значение поля