SECONDS='expr $(date -d "20110523" +%s) - $(date -d "20110522" +%s)'
expr $SECONDS / 3600
#Return is 24
Eu tenho um comando que gera uma única data no formato que eu quiser. Agora eu preciso de uma maneira simples de calcular (com bash) quantas horas se passaram desde aquela data (o padrão é yyyy-mm-dd hh:mm
).
A única maneira de pensar nisso é usar vários if
s, mas esperava que houvesse um método rápido de uma linha. Talvez usando o comando date
?
Apenas um exemplo de clareza:
Agora é 2011-05-23 12:16
.
O primeiro comando gera 2011-05-22 08:34
.
Eu preciso de um comando (ou alguns comandos canalizados) que saem 27
, como em: "27 horas (arredondado para baixo) passaram desde a data especificada".
Existe uma maneira rápida e simples de conseguir isso? Ou sou obrigado a usar condicionais (não que isso seja excessivamente complexo).
SECONDS='expr $(date -d "20110523" +%s) - $(date -d "20110522" +%s)'
expr $SECONDS / 3600
#Return is 24