2017-02-02 19 views
0

Я хочу, чтобы увеличить время -rfc-3339 формата и использовал следующую команду:сценарии оболочки для увеличения времени в --rfc-3339 формат

`date --date="(date --rfc-3339=seconds) + 5 minutes"` 

, но после того, как приращение текущего времени на 5 минут, он показывает увеличенное системное время в стандартном формате:

Thu Feb 2 20:06:30 IST 2017.

Я хочу желаемый результат в формате --rfc-3339

т.е.

2017-02-02 20:06:30+05:30.

Заранее спасибо.

+0

Вы посмотрели на 'man date' вашей системы? Может быть и точный вариант, иначе вам придется его наращивать из частей, т. Е. '+% Y-% m-% d% H:% M:% S ...'? Удачи. – shellter

+0

hello shellter, я просмотрел man-страницу, но не нашел точного параметра, чтобы сохранить добавленную дату в указанном формате. –

+0

спасибо за предложение, наконец, нашел решение самостоятельно «date -d» 15 минут «+»% Y-% m-% dT% H:% M:% S '" –

ответ

2

Это довольно просто. Флаг --rfc-3339 сообщает команде date, как форматировать ее вывод, но вы помещаете ее внутри спецификатор для ввода дата - какая дата форматирования.

В вашей команде

date --date="(date --rfc-3339=seconds) + 5 minutes" 

--date="stuff" часть рассказывает команду, которая датировать вы хотите показать (в отличие от дефолта «прямо сейчас»). Это выглядит, как будто вы можете сделать какую-то математику с «взять текущую дату и добавить пять минут», но на самом деле часть в () недопустима и игнорируется. Вы могли бы сказать date --date="(colorless green ideas sleep furiously) + 5 minutes", и вы получите те же результаты - или просто date --date="+5 minutes".

Но, конечно, это стандартный формат вывода. Для того, чтобы получить его в формате RFC 3339, просто добавьте этот флаг, вне строки ввода даты:

date --date="+5 minutes" --rfc-3339=seconds 

и там вы идете.

+0

Обратите внимание, что беззнаковые числа считаются положительными цифрами в дате входные форматы, поэтому вы _could_ просто делаете '--date =" 5 минут ", но я считаю более читаемым всегда включать знак, поэтому добавление очевидно. – mattdm

+0

Спасибо @mattdm ... ваш ответ действительно полезен .. вас очень сильно .. –