Есть ли простой способ получить из объектов класса 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
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Начал изучать JavaEE, но не знаю, где можно попрактиковать навыкиМб вы знаете где можно посмотреть готовые проекты JavaEE или не готовые, что бы самому...
Файлы с главного каталога считывает а с подкаталога нет в чем может быть проблема?
Когда запускаю JSP Web Application на Tomcat или JBoss Server, оно запускает indexjsp первым (index
Как создать всплывающее окно в Android при нажатии на слово? И что бы была возможность добавить кнопки действия