1. Класс LocalDateTime
Класс LocalDateTime
объединяет в себе возможности классов LocalDate
и LocalTime
: он хранит и дату, и время. Его объекты тоже неизменяемые, и его методы также аналогичны методам классов LocalDate
и LocalTime
.
Получение текущего момента: дата и время
Тут все в пределах ожиданий: тоже используется метод now()
. Пример:
Код | Вывод на экран |
---|---|
|
|
При выводе на экран дата и время разделяются буквой T
.
Получение определенного момента: дата и время
Все ожидаемо аналогично классам LocalDate
и LocalTime
— используется метод of()
:
... = LocalDateTime.of(год, месяц, день, часы, минуты, секунды);
Сначала идут параметры, которые задают дату в тех же форматах, что и в классе LocalDate
. Затем идут параметры, задающие время в тех же форматах, что и в классе LocalTime
. Список всех вариаций метода of()
приведен ниже:
Методы |
---|
|
|
|
|
|
|
|
Можно задать дату явно или через объекты LocalDate
и LocalTime
:
Код |
---|
|
Вывод на экран |
|
У класса LocalDateTime
есть методы получения фрагмента даты и/или времени. Они абсолютно аналогичны методам классов LocalDate
и LocalTime
. Дублировать их тут мы не будем.
2. Класс Instant
Также разработчики Java не забыли интересы и старой школы.
В Date Time API добавили класс Instant для работы со временем, нацеленным на процессы внутри компьютеров. Вместо часов, минут и секунд, он оперирует секундами, миллисекундами и наносекундами.
Этот класс хранит в себе два поля:
- количество секунд, прошедшее с 1 января 1970 года
- количество наносекунд
Класс создан для разработчиков? Да. Поэтому он опять считает время в Unix-time: от начала 1970 года.
Можно даже сказать, что класс Instant
— это упрощенная версия класса Date
: оставили только то, что нужно программистам.
Получить объект Instant
можно точно так же, как объект LocalTime
:
Instant timestamp = Instant.now();
Где timestamp
— это переменная класса Instant
, а Instant.now()
— вызов статического метода now()
у класса Instant
.
Пример:
Код | Вывод на экран |
---|---|
|
|
Также можно создать новый объект с помощью разновидностей метода of()
, если передать в него время, прошедшее с 1 января 1970 года:
|
Нужно передать количество миллисекунд |
|
Нужно передать количество секунд |
|
Нужно передать секунды и наносекунды |
Методы объектов Instant
У класса Instant есть два метода, которые возвращают его значения:
|
Количество секунд, прошедшее с 1 января 1970 года |
|
Наносекунды. |
|
Количество миллисекунд, прошедшее с 1 января 1970 года |
Также есть методы, которые способны создавать новые объекты Instant
на основе уже существующего:
|
Добавляет секунды к текущему моменту времени |
|
Добавляет миллисекунды |
|
Добавляет наносекунды |
|
Вычитает секунды |
|
Вычитает миллисекунды |
|
Вычитает наносекунды |
Примеры:
Код | Вывод на экран |
---|---|
|
|
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ