Преобразуйте java.util.Date в Instant, OffsetDateTime или ZonedDateTime java.time
По мере перехода к современной платформе java.time , важно знать, как преобразовать устаревшие объекты java.util.Date в соответствующие типы java.time. Вот краткое изложение эквивалентов:
java.util.Date to Instant
Оба представляют момент в формате UTC, поэтому преобразование является простым:
Instant instant = myUtilDate.toInstant();
java.util.Date myUtilDate = java.util.Date.from(instant);
java.util.Date в OffsetDateTime или ZonedDateTime java.time
Поскольку эти типы включают информацию о часовом поясе, необходимо извлечь пояс из устаревшей даты:
// If the legacy date is a GregorianCalendar (which can hold time zone info)
if (myUtilCalendar instanceof GregorianCalendar) {
GregorianCalendar gregCal = (GregorianCalendar) myUtilCalendar;
ZonedDateTime zdt = gregCal.toZonedDateTime(); // ZonedDateTime with time zone
java.util.Calendar myUtilCalendar = java.util.GregorianCalendar.from(zdt);
}
Дополнительные сопоставления конверсий
Устаревший тип | эквивалент java.time | Дополнительно Заметки |
---|---|---|
java.util.Calendar | Мгновенно | Преобразует в начало дня в UTC |
java.util.GregorianCalendar | ZonedDateTime | Сохраняет часовой пояс информация |
java.util.LocalDate | ZonedDateTime | Для определения часового пояса требуется date |
java.util.LocalTime | Мгновенно | Преобразует в начало дня в UTC |
java.util.LocalDateTime | ZonedDateTime | Для определения даты и времени требуется часовой пояс |
Важный Соображения
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3