Можно ли, используя что-то похожее на команду date, установить дату и время относительно «текущего момента»?
Поэтому вместо чего-то вроде date +%T -s "10:13:13"
или date -s +1h
чего-то похожего
решение1
Чтобы установить дату, необходимо войти в систему как root (или 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)"
выход:
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
решение2
Теперь date
можно устанавливать дату относительно естественного языка!
Вот пример использования 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
решение3
Вы можете изменить свой часовой пояс, выполнив # dpkg-reconfigure tzdata
. Я не уверен, как можно изменить время на произвольное значение.