Я пытаюсь создать заголовок даты, совместимый с HTTP 1/1, с использованием стандартной даты unix (1), чтобы отправить его на сервер RESTful с помощью curl или аналогичного.
Есть идеи, какой формат передать на сегодняшний день (1), чтобы он соответствовал RFC 1123?
Большое спасибо
env TZ=GMT date '+%a, %d %b %Y %T %Z'
%T
эквивалентно %H:%M:%S
.%Z
заменяется названием часового пояса.Решение от @brad, DATE=$(date -u +%a,\ %d\ %b\ %Y\ %H:%M:%S\ GMT)
, будет неверным, если в вашей системе установлен часовой пояс, отличный от GMT. Например:
env TZ=Asia/Taipei date -u +%a,\ %d\ %b\ %Y\ %H:%M:%S\ GMT
%H:%M:%S
будет GMT + 8, а вывод - GMT, чего не ожидается.
man date
для любой версии даты, предоставляемой вашей ОС, и используйте правильные переключатели для печати (см. man strftime
) слева направо с пробелом между ними, сначала дата:
День (трехбуквенное сокращение пн-вт-ср ...) с запятой ,,
месяц (трехбуквенное сокращение Янв Фев Мар ...)
год (четырехзначное обозначение 1970, 1971 ...)
а потом время HH:MM:SS
.
И вы можете получить что-то вроде Fri, 20 May 2016 20:22:33 GMT