Работа с датами и временем
Методы работы с датами и показаниями времени собраны в два класса: Calendar и Date из пакета java.utii.
Объект класса Date хранит число миллисекунд, прошедших с 1 января 1970 г. 00:00:00 по Гринвичу. Это "день рождения" UNIX, он называется " Epoch ".
Класс Date удобно использовать для отсчета промежутков времени в миллисекундах.
Получить текущее число миллисекунд, прошедших с момента Epoch на той машине, где выполняется программа, можно статическим методом:
System.currentTimeMillis()
В классе Date два конструктора. Конструктор Date () заносит в создаваемый объект текущее время машины, на которой выполняется программа, по системным часам, а конструктор Date (long millisec) – указанное число.
Получить значение, хранящееся в объекте, можно методом long getTime (), установить новое значение – методом setTime(long 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 compareTo(object when) – если when не относится к объектам класса Date, создается исключительная ситуация.
Преобразование миллисекунд, хранящихся в объектах класса Date, в текущее время и дату производится методами класса calendar.