При написании bash скриптов, постоянно приходится работать с
date
, а так же задавать форматы дат, по началу было очень не привычно видеть даты "задом на перед" т.е. сначала год, потом месяц, потом день. При написании скриптов, периодически приходится выводить даты на экран или писать даты в лог файл, в связи с этим решил написать краткую памятку о том, как можно работать с датами.Просмотреть просто дату в Bash
Можно использовав команду
date
date
Tue Jun 28 22:18:06 +06 2016
Задать нужный формат даты можно использовав конструкцию
+"%m-%d-%y"
date +"%m-%d-%y"
06-28-16
Чтобы указать полный год, необходимо указать год заглавным символом Y:
date +"%m-%d-%Y"
06-28-2016
Так же дату можно вывести в формате mm/dd/yy:
date +"%D"
06/28/16
Указать время в Bash
К дате можно указать время, использовав конструкцию +"%H:%M:%S"
:
date +"%H:%M:%S"
22:23:46
Все в месте:
date "+%d-%m-%Y-%H-%M-%S"
28-06-2016-22-25-35
Использование date в Bash скрипте
В скриптах можно использовать к примеру так:
#!/bin/bash
echo "Hi! Current date and time - $(date "+%d-%m-%Y %H:%M:%S")"
Пример операции с датами
Датами можно оперировать, например прибавлять или отнимать дни:
date -d "+1 day"
или
date -d "1 day ago"