【问题标题】:Add x seconds to the current date in Linux在 Linux 中将 x 秒添加到当前日期
【发布时间】:2012-03-29 00:20:54
【问题描述】:

我这里有两台 Linux (CentOS 6.0) 机器,我需要在当前日期时间上添加(或删除)5 秒。最后,我的两台机器都会有 5 秒的间隔(一台时间正确,另一台多或少 5 秒)。

我知道我可以用这个命令更改日期:

date -s "DD MMM YYYY HH:MM:SS"

但我需要精确,我很难在正确的时间运行命令。

所以我想知道是否有一种方法可以将当前时间增加 5 秒,有点像您选择时区而不是格林威治(在我的情况下是 +5 小时)。

【问题讨论】:

    标签: date time centos


    【解决方案1】:

    您可以使用 date -s "5 seconds" 在一个命令中将当前时间增加 5 秒。

    关于所有 GNU coreutils 接受的所有日期输入格式的完整手册可以在 https://www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html 在线找到。

    【讨论】:

    • 另请注意,您可以通过date -s "5 seconds ago" 将时钟及时调回。
    • 我想我只是不小心设置了我的系统时钟。
    • 一些问题:这也适用于毫秒吗?你能用负号代替ago吗?在某处是否有此命令的文档?
    【解决方案2】:

    其实,Linux 自带了一个方便的函数,可以返回一个时间加上一个修饰符。

    date --date='5 seconds'
    

    你可以通过简单的命令行来测试它

    date && date --date='5 seconds'
    

    使用它,您可以编写一个小批处理文件,将变量设置为您想要的时间,然后运行 ​​set 命令。

    编辑:这里有一个 bash 脚本可以为您完成。它需要以root身份运行

    #!/bin/bash
    
    NEWDATE=`date +%T --date '5 seconds'`;
    date +%T -s "$NEWDATE";
    

    【讨论】:

    • 其实有一个脚本适合你。请记住,您必须以 root 身份运行它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    相关资源
    最近更新 更多