如何通过命令行操作日期保持同一时间

如何通过命令行操作日期保持同一时间

我需要操纵几分钟的系统时间。

假设我需要保持时间不变,并将日期更改为下一个日期。
几分钟后,我需要恢复正常时间,而无需进行任何手动输入。

仅使用命令行如何实现这一点。

我已经经历过了更改系统时钟的命令行语句是什么?并且需要输入日期+时间。

我不想更改时间,只想更改日期。几分钟后,需求完成后,我不想手动输入日期和时间。

我想通过命令行回到正常时间。

答案1

这是(我认为)您想要的一个示例。它将仅将年份更改为去年 4 分钟,然后再次返回当前日期。您的机器需要连接到互联网才能正常工作:

sudo bash -c "timedatectl set-ntp off && date -s 'last year' && sleep 4m && timedatectl set-ntp on"

答案2

为了使以下内容正常工作,您应该首先转到“设置 →约会时间并禁用自动日期和时间

然后,您可以使用以下命令作为(长)单行命令:

sudo date --set="2010-05-02 $(date '+%T')" && sleep 10 && sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

上述命令:

  • 获取当前系统时间:

    date '+%T'
    

    并将日期设置为您希望的日期,保留当前时间:

    sudo date --set="2010-05-02 $(date '+%T')"
    

    在此示例中,日期为 ,您可以将其更改为您需要的日期2010-05-02

  • 使用命令将更改后的日期保留指定的时间间隔sleep。在这里,我习惯将更改后的时间保留 10 秒。您可以在 的参数(此处为)中sleep 10添加mhd后缀,分别以分钟、小时或天为单位指定时间。sleep10

  • 将时间恢复为当前时间(需要互联网访问):

    sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
    

    致谢什鲁库尔·哈比卜

相关内容