Ich brauche etwas Einfaches wie date
aber in Sekunden seit 1970 anstelle des aktuellen Datums, der Stunden, Minuten und Sekunden.
date
scheint diese Option nicht zu bieten. Gibt es einen einfachen Weg?
Ich brauche etwas Einfaches wie date
aber in Sekunden seit 1970 anstelle des aktuellen Datums, der Stunden, Minuten und Sekunden.
date
scheint diese Option nicht zu bieten. Gibt es einen einfachen Weg?
Dies ist eine Erweiterung dessen, was @pellucide getan hat, aber für Macs:
So bestimmen Sie die Anzahl der Sekunden seit der Epoche (1. Januar 1970) für ein beliebiges Datum (z. B. 21. Oktober 1973)
$ date -j -f "%b %d %Y %T" "Oct 21 1973 00:00:00" "+%s"
120034800
Bitte beachten Sie, dass ich der Vollständigkeit halber den Zeitteil in das Format aufgenommen habe. Der Grund dafür ist, dass date
nimmt den von Ihnen angegebenen Datumsteil und fügt die aktuell Zeit auf den angegebenen Wert. Wenn Sie zum Beispiel den obigen Befehl um 16:19 Uhr ausführen, ohne den Teil "00:00:00", wird die Zeit automatisch hinzugefügt. So wird "Oct 21 1973" als "Oct 21 1973 16:19:00" geparst. Das ist vielleicht nicht das, was Sie wollen.
So konvertieren Sie Ihren Zeitstempel zurück in ein Datum:
$ date -j -r 120034800
Sun Oct 21 00:00:00 PDT 1973
Apples Manpage für die Datumsimplementierung: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/date.1.html
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
9 Stimmen
Einige Versionen von date haben es, andere nicht. Es ist also nicht immer vorhanden. Ich habe "type -a date" ausgeführt und eine andere Version verwendet, und das hat funktioniert.
2 Stimmen
FWIW, Ubuntu hat nur /bin/date, für das die Antwort von @Steef funktioniert
1 Stimmen
@TheBonsai das ist nicht Teil der POSIX-Standardversion des 'date'-Tools. Nur weil Ihre Version es hat (wahrscheinlich GNU), sollten Sie nicht davon ausgehen, dass alle Implementierungen es haben.