Introdução
O comando date exibe ou configura a data e hora do sistema operacional linux. Além disto permite formatar a exibição do horário em diversos formatos, incluindo universal(utc), rfc-822, timestamp ou personalizado.Sinopse
date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Opções
- -d, --date=STRING — apresenta o horário descrito na STRING, não o atual;
- -f, --file=DATEFILE — similar ao --date, entretanto é apresentados as linhas individuais em do DATEFILE;
- -r, --reference=FILE — apresenta a ultima modificação de hora no referido arquivo FILE;
- -R, --rfc-822 — apresenta a data no formato RFC-822;
- -s, --set=STRING — configura o horário conforme a descrição em STRING;
- -u, --utc, --universal — apresenta ou configura a data/hora com o horário 0 (grenwich);
- --help — apresenta a ajuda do comando;
- --version — apresenta a versão do comando;
Controles de Formatação
Sequencias de interpretação para exibição:- %% — Um literal %
- %a — Dia da semana abreviado (e.x., Dom)
- %A — Dia da semana completo (e.x., Quarta)
- %b — Mês abreviado (e.x., Jan)
- %B — Mês completo (e.x., Janeiro)
- %c — data e hora (e.x., Thu Mar 3 23:05:25 2005)
- %C — Século; como %Y, omitindo os 2 últimos dígitos (e.x., 20)
- %d — dia do mês (e.x, 01)
- %D — data; mesmo que %m/%d/%y
- %e — dia do mês, o mesmo que %_d
- %F — data completa; o mesmo que %Y-%m-%d
- %g — Ano com 2 dígitos;
- %G — Ano com 4 dígitos;
- %H — hora (00..23)
- %I — hora (01..12)
- %j — dia do ano (001..366)
- %k — hora ( 0..23)
- %l — hora ( 1..12)
- %m — Mês (01..12)
- %M — minuto (00..59)
- %n — nova linha
- %N — nanosecondos (000000000..999999999)
- %p — equivale a AM ou PM, para o formato de 12 horas; branco se desconhecido;
- %P — como o %p, mas em caixa baixa;
- %r — apresenta a hora no formato 12-horas (e.x., 11:11:04 PM)
- %R — 24-horas, senod hora e minutos; o mesmo que %H:%M
- %s — secondos desde 1970-01-01 00:00:00 UTC
- %S — secondos (00..60)
- %t — um tab
- %T — hora; o mesmo que %H:%M:%S;
- %u — dia da semana (1..7); 1 is Segunda e 7 Domingo;
- %U — semana do ano, com Domingo sendo o 1º dia da semana (00..53)
- %V — semana do ano, no formato ISO, sendo Segunda o 1º dia da semana (01..53)
- %w — dia da semana (0..6); 0 e Domingo;
- %W — semana do ano, com sendo Segunda o 1º dia da semana (00..53)
- %x — data formato en_US (e.x., 12/31/99)
- %X — hora formato 24h (e.g., 23:13:48)
- %y — Ano com 2 dígitos (00..99)
- %Y — Ano com 4 dígitos
- %z — +hhmm métrica da zona fuso horária (e.x., -0400)
- %:z — +hh:mm métrica formatada da zona fuso horária (e.x., -04:00)
- %::z — +hh:mm:ss métrica com precisão em segundos, da zona fuso horária (e.x., -04:00:00)
- %Z — Abreviação alfabética da zona fuso horária (e.x., BRST)
Comando date no Sistema Operacional
Os computadores sempre usam por base a zona fuso horária 0, ou hora de Grenwich, ou hora universal e exibem a data/hora conforme o fuso horário configurado na máquina. Desta forma, para se saber qual a hora local, a máquina faz uma operação entre o horário universal e o fuso local. Exemplo 1: hora universal: 12:02:45fuso: -3:00
hora local: 12:02:45 - 3:00 = 9:02:45 Exemplo 2: hora universal: 12:02:45
fuso: +3:00
hora local: 12:02:45 + 3:00 = 15:02:45 E o comando date se apropria desta característica para tratar data/hora no sistema operacional.
Observação: Os exemplos deste artigo foram gerados durante o Horário Brasileiro de Verão, também designado como BRST (Brazilian Summer Time), cujo o valor é igual a -2:00;Sem opções exibe a data/hora local # date Tue Dec 6 14:32:31 BRST 2011 Com as opções
-u
, ou --utc
, ou --universal
exibe a data/hora 0
# date -u Tue Dec 6 16:49:19 UTC 2011 date --utc Tue Dec 6 16:49:45 UTC 2011
date --universal Tue Dec 6 16:49:40 UTC 2011 Para alterar a hora e data do sistema, a sintaxe apresentada na seção sintaxe date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] , representa:
- -u, -utc ou --universal — são equivalentes e representam o horário de Grenwich, zona fuso horária 0;
- MM — Mês com 2 digitos;
- DD — Dia com 2 digitos;
- hh — Hora com 2 digitos;
- mm — Minutos com 2 digitos;
- [CC] — Século com 2 digitos;
- YY — Ano com 2 digitos;
- [.ss] — Segundos com 2 digitos;
Alterando a data/hora local
date 120614322011.30 Tue Dec 6 14:32:30 BRST 2011 No exemplo foi usado 06/12/2011 às 14:32:30h. date 120614322011 Tue Dec 6 14:32:00 BRST 2011 Normalmente não se preocupa-se com segundos, podendo alterar a data para 06/12/2011 às 14:32h, como no exemplo acima.Alterando a data/hora universal
date -u 120614322011.30 Tue Dec 6 14:32:30 UTC 2011date --utc 120614322011.30 Tue Dec 6 14:32:30 UTC 2011
date --universal 120614322011.30 Tue Dec 6 14:32:30 UTC 2011 Alterado com precisão em segundos; date -u 120614322011 Tue Dec 6 14:32:00 UTC 2011
date --utc 120614322011 Tue Dec 6 14:32:00 UTC 2011
date --universal 120614322011 Tue Dec 6 14:32:00 UTC 2011 Alterado sem a precisão de segundos.
Comentários