В чем разница между LocalDateTime.format (DateTimeFormatter) и DateTimeFormatter.format (TemporalAccessor)? - PullRequest
4 голосов
/ 14 июня 2019

В API Java 8 DateTime есть 2 способа форматирования даты, которые на первый взгляд кажутся одинаковыми:

DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm").format(LocalDateTime.now());
LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm"));

Оба возвращают строку, представляющую дату и время во время выполнения.

Есть ли существенная разница между этими двумя?

1 Ответ

6 голосов
/ 14 июня 2019

Нет, они эквивалентны - и даже задокументированы , чтобы быть эквивалентными, по крайней мере, для реализации по умолчанию. ChronoLocalDateTime.format включает в себя:

Реализация по умолчанию должна вести себя следующим образом:

return formatter.format(this);

Иногда одна форма полезна, иногда другая - она ​​может зависеть от того, что вы объединяете в более длинное выражение.

...