Como você muda a hora do relógio de hardware do Linux (hwclock) para o formato de 24 horas?

0

Atualmente, meu relógio de hardware retorna a data / hora (hwclock --show) assim:

Sat 28 Jul 2018 08:47:47 PM BST .659124 seconds

e a data retorna:

Sat Jul 28 21:23:13 BST 2018

Gostaria de alterar a hora do relógio do hardware para o formato de 24 horas e o formato da data para corresponder ao formato de data / hora do relógio do hardware.

Pesquisei alto e baixo, mas não encontrei documentação completa sobre gerenciamento de data e hora em sistemas Linux (por exemplo, data regional, curta, média e longa, como DD-MM-AAAA ou DD / MM / AA) , especialmente em um ambiente de linha de comando.

Eu tenho maned hwclock e data. Eles não ajudam. Eu também sei que há um conjunto de perguntas semelhantes que foram feitas antes. Eu olhei para eles e eles não ajudam.

Alguém pode ajudar com relação à minha pergunta específica mencionada acima ou me indicar uma documentação completa com uma discussão sobre como lidar com vários cenários de data / hora para diferentes regiões em um ambiente de linha de comando? Agradecemos antecipadamente.

    
por wilimayze 28.07.2018 / 22:31

1 resposta

2

Você pode fazer com que date faça o trabalho para você: a opção -d permite que você especifique a data em uma "string de data legível para humanos na maior parte livre" (de man date ).

Infelizmente, o formato não é livre o suficiente para aceitar a saída hwclock , mas funciona bem se você remover o campo final especificando frações de segundo:

date -d "$(hwclock|sed 's/  \..*$//g')"

Eu testei, mas não consegui encontrar o formato quando há zero frações de segundo, então não sei se ele mostraria o mesmo formato, por exemplo, Sat 28 Jul 2018 08:47:47 PM BST .000000 seconds . Se não houver ponto decimal, será necessária outra substituição sed .

Desde que ainda haja um espaço duplo após o fuso horário, o seguinte funcionará:

date -d "$(hwclock|sed 's/  .*$//g')"

Você pode fazer disso um script de shell ou uma função definida em ~/.bashrc chamada algo como hwclockdf (ou seja, em date format).

    
por 29.07.2018 / 00:11