Como definir a data e hora com o formato Unix Epoch



Experimente Nosso Instrumento Para Eliminar Problemas

A época Unix começou às 00:00:00 UTC na quinta-feira, 1 de janeiro de 1970. Desde então, os sistemas Unix têm mantido o controle do tempo contando o número de segundos desde a data em que ocorreu. Unix, e as várias implementações como Linux e FreeBSD, controlam o tempo como um número literal de segundos desde então menos o número de segundos bissextos que ocorreram.



Não é um conceito com o qual muitos usuários ou mesmo programadores entram em contato diariamente. No entanto, se você sabe o número de segundos decorridos desde o início da época do Unix, você pode definir a hora em seu sistema para isso. Você precisará trabalhar em uma interface de linha de comando, então segure Ctrl, Alt e F1-F6 para chegar a um terminal virtual ou pressione Ctrl + Alt + T para obter um terminal gráfico. Você também pode pesquisar a palavra terminal no Ubuntu Dash ou iniciá-lo a partir do menu Aplicativos e, em seguida, Ferramentas do sistema no LXDE, KDE e fora do menu Whisker no Xfce4.



Método 1: usando a ferramenta de data GNU para definir a hora Unix Epoch

É uma boa ideia certificar-se de que você tenha a string de data formatada corretamente antes de tentar acertar o relógio para ela. Tipo date -d ‘@ 1501959335’ e pressione Enter para converter o número de segundos de 1º de janeiro de 1970 em um formato preferido pelas pessoas. Você pode substituir 1501959335 por qualquer registro de data e hora válido do período do Unix. Simplesmente usamos isso como exemplo porque era a época atual do Unix em um ponto enquanto escrevíamos este artigo.



Você deve obter uma data e hora regulares, bem como o fuso horário de sua máquina local. Quando tiver certeza de que está tudo certo, você pode usar o comando data -s ‘@ 1501959335’ para acertar o relógio com este carimbo de hora. Se receber um erro que diz “data: não é possível definir a data: Operação não permitida” seguida da data atual, então você estava tentando executá-lo como um usuário. Tipo sudo date -s ‘@ 1501959335’ e pressione Enter para definir o relógio. Lembre-se de usar um carimbo de hora Unix válido no lugar dos dígitos que apresentamos em nosso exemplo.

Naturalmente, sua senha será solicitada antes de continuar a receber acesso de root.



Método 2: usando software de data BSD

Se você estiver usando qualquer um dos vários sistemas operacionais * BSD, na verdade, você precisará usar uma sintaxe diferente no que diz respeito ao comando date. Isso vale para usuários de FreeBSD, OpenBSD, NetBSD e, possivelmente, algumas implementações de Darwin também. Usuários de Linux e outros sistemas operacionais semelhantes ao Unix

Para converter os segundos desde que a época começou em 1 de janeiro de 1970, digite data -r 1501959335 no prompt e pressione Enter. Mais uma vez, você pode substituir 1501959335 por qualquer carimbo de hora Unix válido.

Digite a data “$ (data -r 1501959335 +’% y% m% d% H% M.% S ’)” e pressione Enter para definir a data desde o início da época. É um pouco mais complexo nesses sistemas operacionais baseados em BSD, já que você precisa informar o novo formato para a data e hora, mas no final das contas funciona da mesma maneira. É mais do que provável que você precise de acesso root para definir a nova data.

Método 3: Ver a hora Unix atual

Se você gostaria de ver o registro de data e hora atual do Unix, execute data +% s na linha de comando. Isso produzirá a hora atual como o número de segundos desde o início do período Unix. Você o devolverá rapidamente na próxima linha.

Você também pode obter uma representação gráfica, se preferir. Tipo xclock -d -utime na linha de comando e pressione Enter. Contanto que você tenha os aplicativos XFree86 clássicos instalados, você receberá uma janela flutuando sobre o seu terminal que fornece a contagem atual de segundos.

3 minutos lidos