使用类似于日期命令的命令,是否可以设置相对于“现在”的日期和时间?
因此,不要使用类似于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
。不过,我不确定如何将时间更改为任意值。