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.

Foi útil?

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:

  1. Para obter o número de segundos desde o uso época Unix date(1) da seguinte forma:

    date +'%s'
    
  2. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top