RFC 1123 & RFC 822
Согласно этой записи , связанной с этим вызовом библиотеки JavaScript , инструмент Почтальон ожидает значения даты и времени вустаревший формат, используемый в ранних интернет-протоколах.Строки выглядят так:
Ср, 14 июня 2017 г. 07:00:00 GMT
Этот устаревший формат был определен в RFC 1123 и RFC822. Помните, что современные протоколы в настоящее время принимают взамен ISO 8601 , включая классы java.time .
К счастью, класс DateTimeFormatter
имеет константу, предопределенную заранееэтот формат: DateTimeFormatter.RFC_1123_DATE_TIME
.
Instant instant = Instant.parse( "2019-09-18T20:15:32.162Z" ) ;
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC ) ;
String output = odt.format( DateTimeFormatter.RFC_1123_DATE_TIME ) ;
См. этот код, запущенный на IdeOne.com .
вывод: ср., 18 сентября 2019 20:15:32 GMT
И разбор.
OffsetDateTime odt2 = OffsetDateTime.parse( output , DateTimeFormatter.RFC_1123_DATE_TIME ) ;
odt2.toString (): 2019-09-18T20: 15: 32Z
Опять же, этот формат ужасен и его следует избегать.Он предполагает английский язык и предполагает определенные культурные нормы для аббревиатур / заглавных букв и тому подобное.Сложно разобрать на машине.По возможности избегайте этого формата, вместо этого используйте форматы ISO 8601 для передачи значений даты и времени в виде текста.Но если вам необходимо взаимодействовать с устаревшим кодом, который еще не обновлен до современных протоколов и форматов, вы можете сгенерировать и проанализировать такой текст, используя этот предопределенный форматер.