Есть ли простой способ получить из объектов класса LocalDate
или LocalDateTime
объект класса Calendar
?
1-й подход:
Получим количество секунд прошедших с начала Unix-эпохи. И на основе этого создадим объект Calendar
.
Для LocalDate
long epochSec = localDate.atStartOfDay(ZoneId.systemDefault()).toEpochSecond();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(epochSec*1000);
Для LocalDateTime
long epochSec = localDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(epochSec*1000);
2-й подход:
У объекта Calendar
есть метод set
, в котором можно задать информацию о времени.
Для LocalDate
Calendar calendar = Calendar.getInstance();
calendar.set(localDate.getYear(), localDate.getMonthValue() - 1, localDate.getDayOfMonth());
Для LocalDateTime
Calendar calendar = Calendar.getInstance();
calendar.set(localDateTime.getYear(), localDateTime.getMonthValue() - 1, localDateTime.getDayOfMonth(), localDateTime.getHour(), localDateTime.getMinute(), localDateTime.getSecond());
Заметьте, что LocalDate
и LocalDateTime
считают месяцы с 1
в то время, как Calendar считает месяцы с 0
. Поэтому при передаче параметров нужно вычитать единицу.
Также в случае с LocalDateTime
можно не передавать в метод set
последний параметр (секунды) или вообще обойтись тремя параметрами, как в случае с LocalDate
.
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Начал изучать JavaEE, но не знаю, где можно попрактиковать навыкиМб вы знаете где можно посмотреть готовые проекты JavaEE или не готовые, что бы самому...
Файлы с главного каталога считывает а с подкаталога нет в чем может быть проблема?
Когда запускаю JSP Web Application на Tomcat или JBoss Server, оно запускает indexjsp первым (index
Как создать всплывающее окно в Android при нажатии на слово? И что бы была возможность добавить кнопки действия