Поиск…


Вступление

В Bash 4.2 было введено встроенное преобразование времени для printf : спецификация формата %(datefmt)T делает printf выводит строку даты, соответствующую строке формата datefmt как это понимается strftime .

Синтаксис

  • printf '% (dateFmt) T' # dateFmt может быть любой строкой формата, которая strftime распознает
  • printf '% (dateFmt) T' -1 # -1 представляет текущее время (по умолчанию для отсутствия аргумента)
  • printf '% (dateFmt) T' -2 # -2 - время, в которое была вызвана оболочка

замечания

Использование printf -v foo '%(...)T' идентично foo=$(date +'...') и сохраняет fork для вызова внешней date программы.

Получить текущую дату

$ printf '%(%F)T\n'
2016-08-17

Установите переменную на текущее время

$ printf -v now '%(%T)T'
$ echo "$now"
12:42:47


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow