Mostrando datas passadas e futuras com o comando date

Publicado por Lisandro Guerra em 06/11/2012

[ Hits: 29.973 ]

Blog: https://spartanix.com/

 


Mostrando datas passadas e futuras com o comando date



É possível exibir a data presente, datas futuras e datas passadas com o comando date.

Para começar, o comando puro nos indica a data presente:

date
Sáb Nov  3 22:35:15 BRST 2012

E se for no futuro próximo, digamos daqui a uns 20 segundos? Então:

date --date='20 seconds'
Sáb Nov  3 22:36:14 BRST 2012

Que tal daqui a 6 horas?

date --date='6 hours'
Dom Nov  4 04:37:10 BRST 2012

E amanhã, que horas serão?

date --date='tomorrow'
Dom Nov  4 22:37:51 BRST 2012

Ou:

date --date="1 day"
Dom Nov  4 22:38:57 BRST 2012

Ou:

date --date="next day"
Dom Nov  4 22:39:57 BRST 2012

Ou ainda:

date --date="-1 days ago"
Dom Nov  4 22:40:47 BRST 2012

Daqui a 2 dias:

date --date="2 days"
Seg Nov  5 22:41:22 BRST 2012

Daqui a 1 semana:

date --date='1 week'
Sáb Nov 10 22:42:37 BRST 2012

Daqui a 1 mês e daqui a 2 meses:

date --date='1 month'
Seg Dez  3 22:43:22 BRST 2012

date --date="2 months"
Qui Jan  3 22:44:03 BRST 2013

Daqui a 4 anos:

date --date="4 years"
Qui Nov  3 22:44:37 BRST 2016

Se quiser saber na próxima terça-feira (detalhe que fica em 00:00:00, pois é terça desde a zero hora):

date --date='this tuesday'
Ter Nov  6 00:00:00 BRST 2012

E por fim uma combinação de parâmetros:

date --date="5 years 10 months 1 day 40 seconds"
Ter Set  4 21:50:32 BRT 2018

Agora as várias maneiras de apresentar datas passadas.

Pouco provável que quisesse saber, mas para alguma aplicação pode ser útil saber de 30 segundos passados:

date --date='30 seconds ago'
Sáb Nov  3 22:50:02 BRST 2012

Para saber de ontem:

date --date="yesterday"
Sex Nov  2 22:51:08 BRST 2012

Ou:

date --date="1 day ago"
Sex Nov  2 22:51:36 BRST 2012

Que tal 10 dias passados:

date --date="10 days ago"
Qua Out 24 22:52:33 BRST 2012

E nove meses passados seria:

date --date="9 months ago"
Sex Fev  3 22:53:10 BRST 2012

Será que houve prescrição? Para ver a data 10 anos antes:

date --date="10 years ago"
Dom Nov  3 22:53:49 BRST 2002

E agora aquela combinação de parâmetros:

date --date="5 years ago 10 months ago 1 day ago 40 seconds ago"
Ter Jan  2 22:54:05 BRST 2007

Como podem notar em momentos uso expressões no singular, outras no plural, por vezes uso as aspas e outras o apóstrofo. O que eu quis mostrar é que independe, posso usar 10 days ou 10 day e o resultado será o mesmo, assim como se usar "1 month" ou '1 month' também se obtém o mesmo resultado.

Obs.: Podem ver pela evolução do horário nos exemplos que fui executando no terminal e passando para a dica aqui.

Fontes:
Outras dicas deste autor

Telegram Desktop no Linux Mint e Ubuntu

Servidor HTTP na linha de comando

Slackware Linux - teclado Lenovo ThinkPad [Resolvido]

Configurando Teclado ABNT2 no Slackware 13.37 - Xfce

Indicador de NumLock e CapsLock no painel do Linux Mint (Cinnamon)

Leitura recomendada

Atualização dos Menus do Wine

Aliases Cores

Problema ao criar scripts com Kommander 1.3 no Slackware Linux?

Ordenando strings em shell script

Comentar em bloco

  

Comentários
[1] Comentário enviado por andre.vmatos em 06/11/2012 - 16:38h

Ótima dica, parabéns. São opções relativamente pouco documentadas e conhecidas, mas bastante úteis.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts