Подтвердить что ты не робот

Преобразование строки на сегодняшний день в bash

У меня есть строка в формате "yyyymmdd". Это строка в bash, и я хочу преобразовать ее в дату, чтобы на ней можно было использовать все другие функции даты.

"20121212" введите в "20121212" дату с форматом "% Y% m% d".

4b9b3361

Ответ 1

Это сработало для меня:

date -d '20121212 7 days'
date -d '12-DEC-2012 7 days'
date -d '2012-12-12 7 days'
date -d '2012-12-12 4:10:10PM 7 days'
date -d '2012-12-12 16:10:55 7 days'

тогда вы можете форматировать выходной параметр добавления "+% Y% m% d"

Ответ 2

Мы можем использовать опцию date -d

1) Измените формат на "% Y-% m-% d" format i.e 20121212 на 2012-12-12

date -d '20121212' +'%Y-%m-%d'

2) Получить следующий или последний день с указанной даты = 20121212. Как получить дату 7 дней в прошлом с определенным форматом

date -d '20121212 -7 days' +'%Y-%m-%d'

3) Если мы получаем дату в некоторой переменной, скажем, что

dat2=$(date -d "$dat -1 days" +'%Y%m%d')

Ответ 3

дата работает только с датой GNU (обычно поставляется с Linux)

для OS X, два варианта:

Ответ 4

просто используйте параметр -d команды date, например

date -d '20121212' +'%Y %m'