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: 69.210 ]

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

A teoria Linux por trás dos acessos e dos atalhos

Boot Seguro LILO

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

Freeduc - Educação escolar é com Linux!

LMDE Xfce - Instalação, configuração e extras

  
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