Data, hora e timezone em sistemas GNU-Linux

Este artigo tem como principal objetivo descrever o uso dos comandos hwclock e date em sistemas GNU/Linux.

[ Hits: 68.957 ]

Por: Samir em 10/06/2007


Relógio baseado no sistema (System Time)



É tempo mantido por um relógio dentro do Kernel Linux e controlado por um "timer interrupt".

Diferente do "hardware clock", o "System time" só é utilizado quando o sistema GNU/Linux está em execução na máquina.

O "System time" é o número de segundos desde 1 de Janeiro de 1970 (UTC).

O "System time" é o tempo que importa para sistema GNU/Linux, pois "hardware clock" mantém o relógio do sistema enquanto o GNU/Linux não está em execução. O "system time" é inicializado de acordo o valor do "hardware clock" quando inicializamos o sistema.

O comando date exibe e configura a data e hora do sistema (system time).

Formato de utilização do comando:

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

Opções para comando date:
  • -d ou --date=STRING: Exibe a data informada pela STRING. Ex.:

    # date -d "11/20/2006 11:25:00"
    ou
    # date --date="11/20/2006 11:25:00"

    Resultado: Seg Nov 20 11:25:00 BRDT 2006

    OBS: BRDT indica que a data do sistema está dentro do período de horário de verão informado por /etc/localtime.

  • -f ou file=DATAFILE: Igual a opção -d, porém executará o comando para cada linha contida no arquivo. Ex.:

    # date -f /home/xyz/arquivo.txt
    ou
    # date --file=/home/xyz/arquivo.txt

  • -ITIMESPEC, --iso-8601: PENDENTE testes.

  • -r ou --reference=FILE: Exibe a última data/hora de modificação de um arquivo. Ex.:

    # date -r /home/xyz/arquivo.txt
    ou
    # date --reference=/home/xyz/arquivo.txt

  • -R ou --rfc-2822: Exibe a data/hora no formato RFC 2822. Ex.:

    # date -R
    ou
    # date --rfc-2822

    Resultado: Wed, 15 Nov 2006 11:44:10 -0200

  • -s ou --set=STRING: Ajusta o tempo de acordo com a STRING. Ex.:

    # date -s "11/15/2006 11:58:00"
    ou
    # date --set "11/15/2006 11:58:00"

    Resultado: Qua Nov 15 11:58:00 BRDT 2006

    OBS: a opção -s ou --set pode ser usada para alterar somente a data ou a hora.

  • -u ou --utc ou --universal: Exibe ou ajusta a data/hora no formato UTC (Coordinated Universal Time). Ex.:

    # date -u
    ou
    # date --utc
    ou
    # date --universal

    Resultado: Qua Nov 15 13:59:58 UTC 2006

    OBS: O exemplo acima trata somente da exibição da data/hora no formato UTC, para ajuste da data/hora em formato UTC esta opção deve ser combinada com a opção -s ou --set.

  • --help: Está opção exibe a tela de ajuda.

  • --version: Exibe informações sobre a versão do comando.

Para mais detalhes consulte o manual do comando date:

$ man date

Página anterior    

Páginas do artigo
   1. Relógio baseado em hardware (hardware clock)
   2. Relógio baseado no sistema (System Time)
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

FreeRADIUS - Noções básicas - Parte I

História do GNU/Linux: 1965 assim tudo começou!

Introdução ao Arch Build System

Linux, aí vamos nós!

Utilizando um SSD ao lado de um HD em Micro Desktop

  
Comentários
[1] Comentário enviado por vodooo em 10/06/2007 - 11:05h

Parabéns, bom artigo!

Super bem explicado e exemplificado!

Abraços

[2] Comentário enviado por GilsonDeElt em 10/06/2007 - 12:17h

Legal!
Não sabia da existência de dois sistemas de Time Zone no PC.
Muito bem explicado!
Vlw!

[3] Comentário enviado por malanga em 10/06/2007 - 17:50h

cara,

tive um problema com diferenca de hora em meu linux, por exemplo
dava um date -utc ele me mostrava 14:00 e quando dave um date ele me mostrava 15:30...
isso dava erro por exemplo no servidor de FTP q sempre buscava informacoes de hora entao se eu jogasse um arquivo via ftp ele ficava uma hora e meia criado antes da hora atual...

para resolver o meu problema tive q excluir o localtime do /etc assim, ele pega so um horario ...

como poderia resolver isso sem excluir o arquivo /etc/localtime???


[4] Comentário enviado por sergiomb em 11/06/2007 - 13:06h

oi , por acaso não sabes de nenhum código que faça o mesmo mas em pyhton ou perl ?
Obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts