O comando Linux date é usado para exibir data, hora, fuso horário, etc. Também é usado para definir a data e hora do sistema Linux. Geralmente, é usado para exibir a data em diferentes formatos e calcular datas ao longo do tempo.
Sintaxe:
date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Opções
A seguir estão algumas opções úteis de linha de comando do comando date:
-d, --data=STRING: É usado para exibir o tempo descrito por STRING.
--depurar: É usado para anotar a data analisada e fornecer um aviso sobre o uso controverso do stderr.
-f, --arquivo=DATEFILE: É semelhante à opção '--date'.
-I[FMT], --iso-8601[=FMT]: É usado para exibir a data/hora no formato ISO 8601.
-R, --rfc-e-mail: É usado para exibir a data e a hora no formato RFC 5322. Por exemplo, segunda-feira, 14 de agosto de 2006 02:34:56 -0600.
--rfc-3339=FMT: É usado para exibir data/hora no formato RFC 3339.
-r, --referência = ARQUIVO: É usado para exibir o horário de modificação anterior do ARQUIVO.
-s, --set=STRING: É usado para definir o tempo descrito por STRING.
-você, --utc, --universal: É usado para exibir ou definir o UTC.
--ajuda: É usado para exibir o manual de ajuda.
--versão: Ele exibe as informações da versão.
Opções de formatação
%a: É usado para exibir o nome abreviado do dia da semana (por exemplo, Dom)
%A: É usado para exibir o nome completo do dia da semana (por exemplo, domingo)
%b: é usado para exibir o nome abreviado do mês (por exemplo, janeiro)
int para string java
%B: É usado para exibir o nome completo do mês (por exemplo, janeiro)
%c: É usado para exibir a data e a hora (por exemplo, quinta-feira, 3 de março, 23:05:25 de 2005)
%C: É usado para exibir o século; como% Y, exceto omitir os dois últimos dígitos (por exemplo, 20)
%d: É usado para exibir o dia do mês (por exemplo, 01)
%D: É usado para exibir a data; igual a %m/%d/%y
%e: É usado para exibir o dia do mês, preenchido com espaços; igual a %_d
%F: É utilizado para exibir a data completa; igual a %Y-%m-%d
%g: É usado para exibir os dois últimos dígitos do ano do número da semana ISO (ver %G)
%G: É usado para exibir o ano do número da semana ISO (ver %V); normalmente útil apenas com %V.
%h: É semelhante à opção '%b'.
%H: É usado por uma hora (00..23)
%EU: É usado por uma hora (01..12)
%j: É usado para o dia do ano (001..366)
%k: É usado para a hora, com espaço preenchido (0..23); igual a %_H
%eu: É usado para a hora, com espaço preenchido (1..12); igual a %_I
%m: É usado para o mês (01..12)
%M: É usado para os minutos (00..59)
%n: É usado para uma nova linha
%N: é usado para nanossegundos (000000000..999999999)
%p: É usado para transmitir o equivalente a AM ou PM; em branco se não for conhecido
%P: É semelhante à opção '%p', mas é passada em letras minúsculas.
%q: É usado para exibir o trimestre do ano (1..4)
%r: É usado para exibir o horário de 12 horas (por exemplo, 23h11min04s)
%R: É usado para exibir o horário de 24 horas em horas e minutos; igual a %H:%M
%s: é usado para exibir os segundos desde 01/01/1970 00:00:00 UTC
%S: é usado para exibir o segundo (00..60)
%t: É usado para uma opção de guia.
%T: é usado para exibir a hora; igual a %H:%M:%S
%em: É utilizado para o dia da semana (1..7); 1 é segunda-feira
%EM: É usado para o número da semana do ano, conta o domingo como o primeiro dia da semana (00..53)
%EM: É usado para o número da semana ISO, conta segunda-feira como o primeiro dia da semana (01..53)
%Em: É utilizado para o dia da semana (0..6); 0 é domingo
%EM: É usado para o número da semana do ano. Conta segunda-feira como o primeiro dia da semana (00..53)
%x: É usado para representação de data (por exemplo, 31/12/99)
%X: É usado para representação de tempo (por exemplo, 23:13:48)
%e: É usado para os dois últimos dígitos do ano (00..99)
%E: É usado por um ano
%Com: É usado para o fuso horário numérico +hh:mm (por exemplo, -0400)
%:Com: É usado para o fuso horário numérico +hh:mm (por exemplo, -04:00)
%::Com: É usado para o fuso horário numérico +hh:mm:ss (por exemplo, -04:00:00)
%:::Com: É usado para o fuso horário numérico com ':' com a precisão necessária (por exemplo, -04, +05:30)
%COM: É usado para a abreviação alfabética do fuso horário (por exemplo, EDT)
Exemplos do comando data
Vejamos os seguintes exemplos do comando date:
- Como usar o comando data
- Formatação de data
- Sequências de data
- Substituindo o fuso horário
- Comando de data como conversor de época
- Exibir a hora da última modificação de um arquivo
- Defina a data e hora do sistema
Como usar o comando data
O comando date é um utilitário básico e pode ser usado executando sem qualquer argumento. Ele exibirá a data e hora atuais. Considere o comando abaixo:
date
O comando acima exibirá a data e hora atuais do sistema. Considere a saída abaixo:
Formatação de data
Podemos exibir a data no formato de nossa escolha. Existem várias opções para exibir a data em um formato específico. Diferentes formatos de data podem ser vistos na lista de opções de formatação acima. Considere os comandos abaixo:
date '%a %d-%m-%y' date +'%A %d-%m-%y' date +'%b %d-%m-%y' date +'%B %d-%m-%y' date +'%c %d-%m-%y' date +'%C %d-%m-%y'
A partir dos comandos acima, a data será exibida em diferentes formatos. Considere a saída abaixo:
Semelhante aos comandos acima, existem outras opções disponíveis. Veja a lista completa das opções de formatação acima.
Sequências de data
Podemos especificar a data em diferentes strings de data. A opção '-d' é usada para operar em uma data específica. Considere o comando abaixo:
date -d '2020-06-06 12:10:53'
No comando acima, temos uma data especificada em um formato diferente. Ele exibirá a descrição da data e hora específicas. Considere a saída abaixo:
Também podemos usar a formatação personalizada da seguinte maneira:
date -d '06 jun 2020' +'%A, %d %B %Y'
O comando acima exibirá a data no formato fornecido. Considere a saída abaixo:
Além disso, podemos passar strings como 'ontem', 'segunda-feira', 'última segunda-feira', 'próxima segunda-feira', 'próximo mês', 'próximo ano' e muito mais.
Considere os comandos abaixo:
date -d now date -d yesterday date -d tomorrow date -d 'next monday' date -d 'last monday'
Os comandos acima exibirão as datas de acordo. Considere a saída abaixo:
Substituindo o fuso horário
Por padrão, o comando date exibe a hora de acordo com o fuso horário atual. Mas, podemos mudar isso definindo o variável de ambiente 'TZ.' O valor padrão da variável 'TZ' é armazenado no arquivo '/etc/localtime'. Depois de alterar o valor da variável de ambiente, podemos exibir a hora de diferentes fusos horários. Considere os comandos abaixo:
TZ='Australia/Melbourne' date TZ=+5:30 date
Os comandos acima exibirão a hora de acordo com os fusos horários determinados. Considere a saída abaixo:
Comando de data como conversor de época
O comando date também pode ser usado para exibir a hora da época. O horário da época (horário Unix ou carimbo de data / hora Unix ou horário POSIX) é o tempo (em segundos) decorrido desde 1º de janeiro de 1970.
Para exibir a hora desde a época até a data atual, execute o comando com a opção '%s' da seguinte forma:
date +%s
O comando acima exibirá o tempo decorrido desde a época. Considere a saída abaixo:
Para converter a hora na data atual, prefixe os segundos com '@'. Considere o comando abaixo:
date -d @122222222
O comando acima irá converter o tempo (em segundos) para um formato legível por humanos. Considere a saída abaixo:
Exibir a hora da última modificação de um arquivo
A opção '-r' é usada para exibir a hora da última modificação do arquivo. Por exemplo, para exibir a hora da última modificação do arquivo 'Demo1.txt' execute o comando da seguinte forma:
date -r Demo1.txt
O comando acima exibirá a hora em que o arquivo fornecido foi modificado. Considere a saída abaixo:
Defina a data e hora do sistema
Podemos definir a hora e a data do sistema usando o comando date. Porém, não é recomendado definir a data e hora do sistema pelo comando date. Porque o relógio do sistema Linux é sincronizado usando os serviços sytemd-timesyncd ou ntp.
Para definir a hora pelo comando date, use a opção '--set=time'. Por exemplo, se quisermos definir a data e hora como '20h15, 06 de junho de 2020', execute o comando da seguinte forma:
date --set='20200606 22:15'
O comando acima definirá a hora conforme especificado. Considere a saída abaixo: