Mostrando datas passadas e futuras com o comando date

Publicado por Lisandro Guerra em 06/11/2012

[ Hits: 29.875 ]

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

id - comando com exemplos

Python com parâmetros na linha de comando

Linux Mint 12: inicialização com mensagens

Instalando o Flash Plugin no Kali Linux

Servidor HTTP na linha de comando

Leitura recomendada

Aliases Cores

Como passar parâmetros para um alias no Bash

Resolvendo problemas ao montar SMBFS

Como fazer um pendrive butável dar boot no VirtualBox

Converter WMA para MP3 no shell do Linux

  

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