Wie konvertiere ich einen Zeitstempel einer Epoche in ein für Menschen lesbares Format auf dem CLI? Ich denke, es gibt eine Möglichkeit, dies mit Datum zu tun, aber die Syntax entzieht sich mir (andere Möglichkeiten sind willkommen).
command-line
shell
date
Xenoterracid
quelle
quelle
@
indate -d @1234567890
?man date
machte keinen Hinweis darauf ...info date
ist ganz komplett. Der Eintrag unter28.9 Seconds since the Epoch
erklärt ausführlich den @timestamp.date -d @1190000000
Ersetzen Sie 1190000000 durch Ihre Epochequelle
Dies kann für Anwendungen nützlich sein, die in den Protokolldateien die Epochenzeit verwenden:
quelle
Benutzerdefiniertes Format mit GNU
date
:Oder mit GNU
awk
:Verknüpfte SO-Frage: https://stackoverflow.com/questions/3249827/convert-from-unixtime-at-command-line
quelle
Mit
bash-4.2
oder über:(wo
%F %T
ist dasstrftime()
-type Format)Diese Syntax ist inspiriert von
ksh93
.In
ksh93
jedoch wird das Argument als Datum Ausdruck gebracht , wo verschiedene und kaum dokumentiert Formate unterstützt werden.Für eine Unix-Epoche
ksh93
lautet die Syntax in :ksh93
scheint jedoch einen eigenen Algorithmus für die Zeitzone zu verwenden und kann es falsch machen. In Großbritannien war beispielsweise 1970 das ganze Jahr über Sommer, aber:quelle
Wenn Ihre Epochenzeit nicht in Sekunden, sondern in Millisekunden angegeben ist, entfernen Sie die letzten drei Ziffern, bevor Sie sie an
date -d
folgende Adresse übergeben :Dies gibt falsche Daten. Entfernen Sie die letzten drei Ziffern.
quelle
Die zwei, die ich häufig benutze, sind:
und
quelle
Mit
zsh
könnten Sie dasstrftime
eingebaute benutzen:z.B
Es gibt auch
dateconv
vondateutils
:Beachten Sie, dass die
dateutils
Werkzeuge standardmäßigUTC
(-z your/timezone
bei Bedarf hinzufügen ) sind.quelle
Sie können auch ein kleines C-Programm zum Drucken der Datums- und Uhrzeitangabe in dem Format verwenden, das direkt von der Shell analysiert werden kann
Verwendungszweck:
quelle
Wäre keine echte Lösung ohne ein wenig node.js:
fügen Sie das hinzu
~/.bash_aliases
und stellen Sie sicher, dass es~/.bashrc
mit bezogen wird. ~/.bash_aliases
Um den Knoten auf Ihrem System zu installieren, rufen Sie http://nvm.sh auf und führen Sie den Befehl curl aus. Hiermit wird der Node Version Manager (nvm) installiert, mit dem Sie die Versionen von Node wechseln können.
Geben Sie einfach
nvm ls-remote
eine Version ein und wählen Sie diese ausnvm install <version>
.quelle
Es gibt einen einfacheren Weg, dies zu tun: (([System.DateTimeOffset] :: FromUnixTimeMilliSeconds ($ unixtime)). DateTime) .ToString ("s")
quelle