Как я могу преобразовать метку времени эпохи в читаемый человеком формат на компьютере? Я думаю, что есть способ сделать это с датой, но синтаксис ускользает от меня (другие способы приветствуются).
command-line
shell
date
xenoterracide
источник
источник
@
значит вdate -d @1234567890
?man date
не упомянул об этом ...info date
вполне завершено. Запись28.9 Seconds since the Epoch
в подробно объясняет о @timestamp.date -d @1190000000
Замените 1190000000 своей эпохойисточник
Это может пригодиться для тех приложений, которые используют время эпохи в лог-файлах:
источник
Пользовательский формат с GNU
date
:Или с GNU
awk
:Связанный вопрос SO: https://stackoverflow.com/questions/3249827/convert-from-unixtime-at-command-line
источник
С
bash-4.2
или выше:(где
%F %T
находитсяstrftime()
формат -type)Этот синтаксис вдохновлен
ksh93
.В
ksh93
однако, аргумент воспринимается как выражение даты , когда различные и вряд ли документированные форматы поддерживаются.Для времени эпохи Unix синтаксис
ksh93
:ksh93
однако, похоже, использует свой собственный алгоритм для часового пояса и может ошибиться. Например, в Британии летом 1970 года было все лето, но:источник
Если время вашей эпохи указано в миллисекундах, а не в секундах, удалите последние три цифры, прежде чем передавать их
date -d
:Это дает неверные данные. Удалите последние три цифры.
источник
Два, которые я часто использую:
а также
источник
С помощью
zsh
вы можете использоватьstrftime
встроенный:например
Там также
dateconv
изdateutils
:имейте в виду, что
dateutils
инструменты по умолчаниюUTC
(добавить,-z your/timezone
если необходимо).источник
Вы также можете использовать небольшую программу на C для печати даты и времени в формате, который может быть непосредственно проанализирован оболочкой
использование:
источник
Не было бы реального решения без небольшого node.js:
добавить это
~/.bash_aliases
и убедиться, что его источником~/.bashrc
с. ~/.bash_aliases
Чтобы получить узел в вашей системе, перейдите на страницу http://nvm.sh и выполните команду curl. Он установит менеджер версий узлов (nvm), который позволяет переключать версии узлов.
Просто введите
nvm ls-remote
и выберите версию дляnvm install <version>
.источник
Есть более простой способ сделать это: (([System.DateTimeOffset] :: FromUnixTimeMilliSeconds ($ unixtime)). DateTime) .ToString ("s")
источник