shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Como pegar o próximo dia (data) de uma data


From: Gustavo Chaves
Subject: Re: [shell-script] Como pegar o próximo dia (data) de uma data
Date: 19 May 2005 12:54:32 -0300
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

>>>>> On Thu, 19 May 2005 12:07:44 -0300, "Luciano Depierri" <address@hidden> 
>>>>> said:

  > Como pegar o próximo dia de uma data?

  > Ex: Para pegar a data de amanhã, eu posso fazer: $date -d tomorrow
  > "+%d%m%Y" que vai sair a data de amanha, mas como obter o próximo
  > dia (data) com uma data digitada?

  > Essa data digitada pode ser qualquer dia, ex:

  > 28022005
  > 10052005

Se você puder estabelecer que o formato da data é AAAAMMDD, então o
comando date do GNU dá a resposta diretamente:

        $ date -d '20050228 + 1 day'
        Ter Mar  1 00:00:00 BRT 2005
        
        $ date -d '20050510 + 1 day'
        Qua Mai 11 00:00:00 BRT 2005

Mas se o formato tem que ser aquele mesmo, o seguinte script pode lhe
ajudar:

        $ cat >amanha.sh <<'EOF'
        #!/bin/sh
        echo $1 | sed 's/\(..\)\(..\)\(....\)/date -d "\3\2\1 + 1 day"/' | sh
        EOF
        
        $ chmod +x amanha.sh
        
Veja:

        $ ./amanha.sh 28022005
        Ter Mar  1 00:00:00 BRT 2005
        
        $ ./amanha.sh 10052005
        Qua Mai 11 00:00:00 BRT 2005

Você pode usar outros formatos de saída da data usando um formato de
saída.  Veja o manpage do date.

Gustavo.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]