在bash中将当前日期增加5分钟

时间:2014-10-29 10:48:59

标签: bash date

在我的脚本中,我将当前日期存储在一个变量中,但我希望该变量可以提前5分钟存储日期。

29/10/2014-10:47:06 to 29/10/2014-10:52:06

在Bash中有一种快速简便的方法吗?寻找一个解决方案,如果时间是10:59:00,也可以正常工作(识别进入下一个小时)。

我找到了一些Perl解决方案,但没有找到Bash。

4 个答案:

答案 0 :(得分:3)

您可以使用-d选项:

~$ date
mercredi 29 octobre 2014, 11:45:45 (UTC+0100)
~$ date -d '5 minutes'
mercredi 29 octobre 2014, 11:50:55 (UTC+0100)

如果你想使用变量:

~$ curr=$(date +%d/%m/%Y-%H:%M:%S)
~$ echo $curr
29/10/2014-11:59:50
~$ date -d "($cur) +5minutes" +%d/%m/%Y-%H:%M:%S
29/10/2014-12:04:54

答案 1 :(得分:1)

您需要使用-d选项,任何用户定义的日期:

 date -d '2014/10/29 10:58:06  5 minutes'
 Wed Oct 29 11:03:06 IST 2014

当前日期

date -d '5 minutes'

答案 2 :(得分:0)

看看datedate +%s为您提供自1970年1月1日以来的秒数,添加5 * 60并将其转换回来 date --date='@<newTime>'

请参阅bash中的man date

答案 3 :(得分:0)

在Bash中,date命令支持以下选项:

 -a [-]sss.fff   Slowly adjust the time  by  sss.fff  seconds
                 (fff represents fractions of a second). This
                 adjustment can be positive or negative.  The
                 system's  clock  is  sped  up or slowed down
                 until  it  has  drifted  by  the  number  of
                 seconds  specified.  Only the super-user may
                 adjust the time.

所以,使用以下内容添加5分钟(= 300秒):

date -a 300