Relative Zeit über die Befehlszeile festlegen

Relative Zeit über die Befehlszeile festlegen

Ist es mit etwas Ähnlichem wie dem Datumsbefehl möglich, Datum und Uhrzeit relativ zum aktuellen Zeitpunkt einzustellen?

Also statt so etwas wie so date +%T -s "10:13:13"etwas wie date -s +1hoder so ähnlich

Antwort1

Um das Datum einzustellen, müssen Sie sich als Root (oder su/sudo...) anmelden.

echo "Time 1 hour ago ... $(date -d "$(date +%F\ %T) 1 hour ago")"
echo "Time now .......... $(date  +%F\ %T)"
echo "Time in 1 hour .... $(date -d "$(date +%F\ %T) 1 hour")"

sudo date +%F\ %T -s "$(date -d "$(date +%F\ %T) 1 hour")"
echo "Adjusted time ..... $(date  +%F\ %T)"

sudo date +%F\ %T -s "$(date -d "$(date +%F\ %T) 1 hour ago")"
echo "Re-adjusted time .. $(date  +%F\ %T)"

Ausgabe:

Time 1 hour ago ... 2012-04-16 21:31:53
Time now .......... 2012-04-16 22:31:53
Time in 1 hour .... 2012-04-16 23:31:53
[sudo] password for .... 
Adjusted time ..... 2012-04-16 23:31:53
[sudo] password for  .... 
Re-adjusted time .. 2012-04-16 22:31:53

Antwort2

Neu ist, dass dateman das Datum nun relativ mit natürlicher Sprache einstellen kann!

Hier ist ein Beispiel mit GNU coreutils 8.23

# date
Fri Oct  5 16:24:25 UTC 2018
# date --set "10 minutes ago"
Fri Oct  5 16:14:25 UTC 2018
# date --set "10 minutes"
Fri Oct  5 16:24:25 UTC 2018

Antwort3

Sie können Ihre Zeitzone ändern, indem Sie Folgendes tun # dpkg-reconfigure tzdata. Ich bin mir jedoch nicht sicher, wie Sie die Zeit um einen beliebigen Wert ändern würden.

verwandte Informationen