OffsetDateTime
не имеет никакого формата, он содержит информацию о дате и времени. Если вы создадите OffsetDateTime
только из даты, он получит информацию о времени по умолчанию, равную 0 часам, минутам, секундам и нанограммам.
Вы можете вывести его в различных форматах, используя DateTimeFormatter
, и создать новый экземпляр OffsetDateTime
добавление временных единиц к существующей, например, так:
public static void main(String[] args) {
// example OffsetDateTime
OffsetDateTime offsetEndDt = OffsetDateTime.of(2020, 3, 14, 0, 0, 0, 0,
ZoneOffset.UTC);
// define a formatter for the output
DateTimeFormatter myFormatter = DateTimeFormatter
.ofPattern("yyyy-MM-dd'T'HH:mm:ss.nnnnnnnnn xxx");
// print it using the previously defined formatter
System.out.println(offsetEndDt.format(myFormatter));
// create a new OffsetDateTime with time information
OffsetDateTime realEndOfDay = offsetEndDt
.withHour(23)
.withMinute(59)
.withSecond(59)
.withNano(999999000);
// print that, too
System.out.println(realEndOfDay.format(myFormatter));
}
Создает следующий вывод, используя шаблон, который имеет желаемый выход вашего примера:
2020-03-14T00:00:00.000000000 +00:00
2020-03-14T23:59:59.999999000 +00:00