[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.