Establecer el tiempo relativo usando la línea de comando

Establecer el tiempo relativo usando la línea de comando

Usando algo similar al comando de fecha, ¿es posible configurar la fecha y la hora en relación con "ahora"?

Entonces, en lugar de algo como date +%T -s "10:13:13"algo parecido date -s +1ho algo similar

Respuesta1

Para establecer la fecha, debe iniciar sesión como root (o su/sudo...)

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)"

producción:

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

Respuesta2

¡Reciente dateahora puede establecer la fecha relativamente con lenguaje natural!

Aquí hay un ejemplo usando 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

Respuesta3

Puedes cambiar tu zona horaria haciendo # dpkg-reconfigure tzdata. Sin embargo, no estoy seguro de cómo cambiarías la hora en un valor arbitrario.

información relacionada