Obter data atual na época de roteiro Unix shell
Pergunta
Como obter o valor de data atual em época ou seja, número de dias decorridos desde 1970/01/01. Preciso solução em shell script unix.
Solução
Atualizar : A resposta postado anteriormente aqui ligado a um script personalizado que não está mais disponível, apenas porque o OP indicou que date +'%s'
não funcionou para ele. Por favor ver a resposta UberAlex' e resposta de cadrian para apropriadas soluções. Em suma:
-
Para obter o número de segundos desde o uso época Unix
date(1)
da seguinte forma:date +'%s'
-
Para obter o número de dias desde a época divisão Unix o resultado pelo número de segundos em um dia (mente os parênteses duplos!):
echo $(($(date +%s) / 60 / 60 / 24))
Outras dicas
O comando Data Unix irá exibir em tempo de época
o comando é
date +"%s"
http://unixhelp.ed.ac.uk/CGI/man- cgi? data
Editar: Algumas pessoas têm observado que pediu dias, por isso é o resultado desse comando dividido por 86.400
echo $(($(date +%s) / 60 / 60 / 24))
echo `date +%s`/86400 | bc
Dependendo do idioma que você está usando ele vai ser algo simples como
CInt(CDate("1970-1-1") - CDate(Today()))
Ironicamente, ontem foi dia de 40.000 se você usar 1/1/1900 como "dia zero", como muitos sistemas de computador usar.