Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Desktop de "trabalho"
Por pinduvoz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Trabalhando com datas no Linux
Linux user
vanervainer
08/06/2004
Neste artigo falarei sobre o comando date e as possibilidades de formatação de data no Linux, o que é muito util para extrair relatórios de períodos específicos e usar em seus shell scripts.
Por: Vaner Vainer Versore
[ Hits: 23161 ]
Conceito: 9.7   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Introdução

A data é um argumento muito importante dentro de sistemas de informação, principalmente na extração de dados. Geralmente queremos saber o faturamento da empresa em um determinado período, qual foi a venda de determinado produto em determinado mês, dentre outras. Para os administradores de sistemas não deixa de ser diferente, relatórios de uso da internet e agendamento de tarefas são exemplos.

Por este motivo abordarei neste tutorial como trabalhar com datas, mostrarei alguns comandos os quais mais tarde poderão virar scripts e automatizar suas tarefas, livrando seu tempo para você buscar novos desafios.

Antes de começarmos a falar da manipulação de datas especificamente, gostaria de mostrar um comando interessante:

$ cal
(mostra o calendário do mês corrente)

$ cal 2004
(mostra o calendário do ano de 2004, logo "cal 2003" irá mostrar o calendário de 2003 ;-P)

O comando date serve para mostrar a data e o tempo do sistema e ajustá-los, tem a seguinte forma:

date [opções] [+formatação]

Ajustar a hora do sistema:

# date 051909522004

Onde o 05 corresponde ao mês, o 19 ao dia, o 09 as horas, o 52 aos minutos, o 20 às duas primeiras casas do ano e o 04 às duas segundas casas do ano, logo estou selecionando para o meu sistema a data 19/05/2004 e a hora 09h52min.

$ date -r <caminho do arquivo>
(mostra a data da última modificação do arquivo)

$ date --date yesterday
(mostra a data de ontem com a formatação do sistema. A opção --date pode ser substituída por -d e yesterday pode ser substituído por today, tomorrow dentre outras opções)

$ date +%Y
(mostra o ano corrente)

$ date +%d/%m/%Y
(mostra a data corrente na formatação dd/mm/aaaa)

Agora podemos combiná-los (opções + formatação):

$ date -d yesterday +%d/%m/%Y
(mostrará a data do dia anterior na formatação dd/mm/aaaa)

Existem várias opções de formatação possíveis, para obter a lista completa execute:

$ date --help

Onde serão mostradas além dessas opções um help sobre o comando date.





Páginas do artigo
   1. Introdução

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
[1] Comentário enviado por grazyportes em 08/06/2004 - 08:02h:

Eu testei e deu certo muito bom este artigo

[2] Comentário enviado por ctrlc em 08/06/2004 - 08:12h:

tava faltando isso por aqui, parabens!

[3] Comentário enviado por marcosvalente em 14/06/2004 - 03:03h:

GOSTEI DO TEU TUT
MUITO BOM MESMO

[4] Comentário enviado por mlegidio em 06/04/2006 - 03:49h:

uma coisa mto simples mas dificil de achar um q se entenda tao simplesmente.
parabens

[5] Comentário enviado por poleszuk em 25/04/2008 - 00:43h:

Era a dica que eu precisava para meu script!!!

Precisava baixar dados de um receptor GPS, mas o mesmo fecha os arquivos à cada hora. Podia eu fazer uma diferença na variavel hora, $(($hora - 1)), mas aí surgia um problema: horas negativas na mudança do dia UTC. Problema semelhante ocorreria com mudança de mes e ano.

date --date '5 minute ago' -u +%Y-%m-%d' '%H:%M:%S

Com isto garanto que será obtida a data para meu script 5 minutos antes da hora inteira. Utilizo o crontab para executar o script e ntpdate para manter o relogio sincronizado.

Poleszuk

[6] Comentário enviado por rafaelalmeida em 05/05/2010 - 17:29h:

Bacana, ajudou aqui também.

[7] Comentário enviado por dafloria em 22/07/2010 - 11:29h:

Ótimo artigo, Me ajudou bastante.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.