Двузначный день месяца
В некоторых приложениях формат должен включать двухзначный день месяца согласно RFC7231 .Java 8 DateTimeFormatter.RFC_1123_DATE_TIME
использует одну цифру:
System.out.println(DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now(ZoneOffset.UTC)));
Вывод: Wed, 1 Aug 2018 14:56:46 GMT
Некоторым приложениям это не нравится.Прежде чем использовать старые ответы, которые используют Joda-time или pre-java8 SimpleDateFormat
, вот рабочая Java-8 DateTimeFormatter
:
DateTimeFormatter.ofPattern("EEE, dd MMM yyyy HH:mm:ss O")
Теперь, когда выэто:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE, dd MMM yyyy HH:mm:ss O");
System.out.println(formatter.format(ZonedDateTime.now(ZoneOffset.UTC)));
Вы получаете Wed, 01 Aug 2018 14:56:46 GMT
- обратите внимание на ведущий ноль в поле дня месяца.