Методы работы с датами и показаниями времени собраны в два класса: Calendar и Date из пакета java.utii.
Объект класса Date хранит число миллисекунд, прошедших с 1 января 1970 г. 00:00:00 по Гринвичу. Это "день рождения" UNIX, он называется " Epoch ".
Класс Date удобно использовать для отсчета промежутков времени в миллисекундах.
Получить текущее число миллисекунд, прошедших с момента Epoch на той машине, где выполняется программа, можно статическим методом
System.currentTimeMillis()
В классе Date два конструктора. Конструктор Date () заносит в создаваемый объект текущее время машины, на которой выполняется программа, по системным часам, а конструктор Date (long miiiisec) — указанное число.
Получить значение, хранящееся в объекте, можно методом long getTime (),
установить новое значение — методом setTimedong newTime).
Три логических метода сравнивают отсчеты времени:
boolean after (long when) — возвращает true , если время when больше данного;
boolean before (long when) — возвращает true , если время when меньше данного;
boolean after (Object when) — возвращает true , если when — объект класca Date и времена совпадают.
Еще два метода, сравнивая отсчеты времени, возвращают отрицательное число типа int , если данное время меньше аргумента when; нуль, если времена совпадают; положительное число, если данное время больше аргумента when :
int compareTo(Date when);
int compareTotobject when) — если when не относится к объектам класса Date , создается исключительная ситуация.
Преобразование миллисекунд, хранящихся в объектах класса Date , в текущее время и дату производится методами класса calendar .