Практические примеры использования date
Oct 13, 2016 22:39 · 425 words · 2 minute read
С помощью команды date
можно выводить текущее время в нескольких форматах, а также устанавливать время и дату в системе из консоли. Давайте разберемся!
Если выполнить команду без дополнительных аргументов, то результат будет примерно следующим:
date
Fri Aug 26 08:35:49 EEST 2016
Если у вас есть строка с датой или временем, то с помощью параметра --date
(или -d
) ее можно привести к формату, указанному выше:
date --date="8/22/2016"
Mon Aug 22 00:00:00 EEST 2016
date --date="Aug 22 2016"
Mon Aug 22 00:00:00 EEST 2016
date --date="22 Aug 2016"
Mon Aug 22 00:00:00 EEST 2016
Как видим, время по умолчанию устанавливается в 00:00:00, если оно не введено вместе с датой:
date --date="22 Aug 2016 13:12:10"
Mon Aug 22 13:12:10 EEST 2016
Кроме параметра --date
, который мы использовали выше, для преобразования нескольких дат к единому формату можно использовать параметр --file
и файл с датами:
cat datefile
Sept 9 1995
Aug 23 2007
May 27 2013 20:16:15
date --file=datefile
Sat Sep 9 00:00:00 EEST 1995
Thu Aug 23 00:00:00 EEST 2007
Mon May 27 20:16:15 EEST 2013
Также с помощью параметра --date
можно получать дату «будущего»:
date --date="next mon"
Mon Aug 29 00:00:00 EEST 2016
или «прошлого»:
date --date="1 day ago"
Thu Aug 25 09:02:05 EEST 2016
date --date="1 month ago"
Tue Jul 26 09:02:20 EEST 2016
date --date="1 year ago"
Wed Aug 26 09:02:36 EEST 2015
Изменить время можно с помощью параметра --set
или -s
:
date
Fri Aug 26 09:03:57 EEST 2016
date --set "Fri Aug 26 09:33:00 EEST 2016"
Fri Aug 26 09:33:00 EEST 2016
date
Fri Aug 26 09:33:00 EEST 2016
Получить дату в UTC формате можно с помощью параметров -u
, --utc
или --universal
:
date -u
Fri Aug 26 06:07:11 UTC 2016
Для отображения даты/времени в особом формате следует воспользоваться опцией форматирования, синтаксис которой следующий:
date +%
Опции форматирования могут быть следующими:
date +%a
— день недели, сокращенный;date +%A
— день недели, полный;date +%b
— месяц, сокращенный;date +%B
— месяц, полный;date +%d
— число месяца (01—31);date +%D
— текущая дата в формате %m/%d/%y;date +%F
— текущая дата в формате %Y-%m-%d;date +%H
— час (00—23);date +%I
— час в 12-часовой системе (01—12);date +%j
— день года (001—366);date +%m
— номер месяца (01—12);date +%M
— минута (00—59);date +%S
— секунда (00—60);date +%N
— наносекунда (000000000—999999999);date +%T
— текущее время в формате %H:%M:%S;date +%u
— день недели (1—7, воскресенье = 7);date +%U
— номер недели (00—53, воскресенье — первый день недели);date +%Y
— год включая столетие;date +%Z
— алфавитный код часового пояса.