Basta especificar o formato de entrada com -f
:
$ date -jf '%m/%d/%Y %H:%M:%S %p' '1/30/2017 11:14:55 AM' '+%m/%d/%Y %H:%M:%S'
01/30/2017 11:14:55
O que vai depois de +
é o formato output . Se você quiser o tempo de época, isso seria +%s
.
(note que não há nada bash
-específico nesse código. Esse código seria analisado da mesma forma em qualquer shell, mesmo aqueles não-Bourne-like. date
não é um comando bash
builtin, aqui é O comando date
encontrado no sistema de arquivos, especificamente aquele que suporta as extensões -f
/ -j
BSD Em sistemas não-BSD, esse comando provavelmente não funcionará, independentemente de o shell ser bash
ou outro. Alguns shells como zsh
ou ksh93
possuem recursos de análise de tempo incorporados, mas não bash
)