Como converter um carimbo de data / hora da época em um formato legível por humanos no CLI? Eu acho que existe uma maneira de fazer isso com a data, mas a sintaxe me escapa (outras formas são bem-vindas).
command-line
shell
date
xenoterracida
fonte
fonte
@
significa issodate -d @1234567890
?man date
não fez nenhuma referência a isso ...info date
é bastante completo. A entrada em28.9 Seconds since the Epoch
explica em detalhes sobre o @timestamp.date -d @1190000000
Substitua 1190000000 pela sua épocafonte
Isso pode ser útil para os aplicativos que usam o tempo da época nos arquivos de log:
fonte
Formato personalizado com GNU
date
:Ou com o GNU
awk
:Pergunta SO vinculada: https://stackoverflow.com/questions/3249827/convert-from-unixtime-at-command-line
fonte
Com
bash-4.2
ou acima:(onde
%F %T
está ostrftime()
formato -type)Essa sintaxe é inspirada
ksh93
.No
ksh93
entanto, o argumento é tomado como uma expressão de data em que vários formatos e dificilmente documentados são suportados.Por um período de época Unix, a sintaxe
ksh93
é:ksh93
no entanto, parece usar seu próprio algoritmo para o fuso horário e pode errar. Por exemplo, na Grã-Bretanha, era verão o ano todo em 1970, mas:fonte
Se o tempo da época estiver em milissegundos em vez de segundos, remova os três últimos dígitos antes de passá-lo para
date -d
:Isso fornece dados incorretos. Remova os três últimos dígitos.
fonte
Os dois que eu uso com frequência são:
e
fonte
Com
zsh
você pode usar ostrftime
builtin:por exemplo
Há também
dateconv
dedateutils
:lembre-se de que as
dateutils
ferramentas padrão sãoUTC
(adicione-z your/timezone
se necessário).fonte
Você também pode usar um pequeno programa C para imprimir a data e hora no formato que pode ser analisado diretamente pelo shell
uso:
fonte
Não seria uma solução real sem um pequeno node.js:
adicione isso
~/.bash_aliases
e verifique se ele é fornecido~/.bashrc
com. ~/.bash_aliases
Para obter o nó no seu sistema, vá para http://nvm.sh e execute o comando curl. Ele instalará o gerenciador de versão do nó (nvm), que permite alternar versões do nó.
Basta digitar
nvm ls-remote
e escolher uma versão paranvm install <version>
.fonte
Existe uma maneira mais fácil de fazer isso: (([System.DateTimeOffset] :: FromUnixTimeMilliSeconds ($ unixtime)). DateTime) .ToString ("s")
fonte