Comando date no Linux (data e hora) [Guia Básico]

O comando date no Linux pode ser utilizado para mostrar a data ou configurar a data do sistema.

As opções mais comuns são:

  • -d string    Mostra as horas em uma determinado formato
  • -u                Mostra ou configura as horas no formato UTC (Coordinated Universal Time)
  • -s                Configura as horas

O Tempo Universal Coordenado, abreviadamente UTC (do inglês Coordinated Universal Time), também conhecido como tempo civil, é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo.

Veja os exemplos:

$ date
Sat 19 Oct 2019 01:13:02 PM -03

A opção “-u” mostra as horas no formato UTC:

$ date -u
Sat 19 Oct 2019 04:13:45 PM UTC

O comando date permite exibir uma data em diversos formatos:

%D:  mm/dd/yy.       
%d: Dia do mês (01 a 31).       
%a: Dias da semana abreviado (Sun, Mon … Sat).
%A: Dias da semana por extenso (Sunday, Monday…Saturday).
%h ou %b: Mês abreviado (Jan, Feb… Dec).
%B: Mês por extenso (January… December).
%m: Mês em numeral (01 to 12).
%y: Dois últimos dois digitos do ano (00 a 99).
%Y: Ano com quatro dígitos (2019). 
%T: Hora no formato 24 horas HH:MM:SS.
%H: Hora.
%M: Minuto.
%S: Segundo.
%j: Dia do ano (122)
%u: dia da semana (1… 7) – 7 representa domingo.
%w: dia da semana (0… 6) – 0 representa domingo.
%F: Formato ANO-MES-DIA

Exemplos:

$ date +'Hoje é %A, %d de %B de %Y, o %j dia do ano, as %H:%M'
Hoje é Saturday, 02 de November de 2019, o 292 dia do ano, as 14:14

Este exemplo ficou estranho, porque mostra a data com localização em inglês com uma frase em portugueês.

Para alterar a localização e exibir tudo em português, podemos alterar a variável LC_ALL:

$ export LC_ALL=pt_BR.UTF-8

Ao executar novamente o comando date, a data ficará em português:

$ date +'Hoje é %A, %d de %B de %Y, o %j dia do ano, as %H:%M'
Hoje é sábado, 02 de Novembro de 2019, o 292 dia do ano, as 14:15

Alterar o formato da data pode ser útil para ser utilizado numa variável para ser usada em um script:

#!/bin/bash
echo "backup dos dados"
export DATA=$(date +'%F-%H%M%S')
tar cvzf /home/uira/backup-$DATA.tar.gz /etc

O script acima escreve a data no formato AAAA-MM-DD-HHMMSS na variável DATA. Depois utiliza a variável como parte do nome de um arquivo tar que faz backup do diretório /etc. O resultado da execução será um arquivo backup-2019-10-19-142339.tar.gz.

Observe que o resultado de um comando pode ser utilizado numa variável se ele estiver contido em $( comando ).

Alterar a Data no Linux

O comando date também pode ser utilizado para alterar a data do relógio do sistema. Neste exemplo, mudei a data do sistema para o dia do meu aniversário:

# date +%Y%m%d -s "2019-05-11"
20190511
$ date
sáb mai 11 00:00:01 -03 2019

A variável TZ altera a data e hora mostrados pelo comando date para a zona de fuso horário.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe