Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 脚本shell如何向给定日期添加x分钟?_Bash_Shell - Fatal编程技术网

Bash 脚本shell如何向给定日期添加x分钟?

Bash 脚本shell如何向给定日期添加x分钟?,bash,shell,Bash,Shell,我需要在给定日期前再加10分钟: givenDate = 2016-10-25 18:22:37 执行时: newDate=$(date +'%Y-%m-%d %T' --date="$givenDate + 10 minutes") echo $newDate 我得到: 2016-10-25 00:10:00 而不是 2016-10-25 18:32:37 第二个问题:如何将分钟数四舍五入,以便根据示例获得这些结果: 18:08->18:10 18:32->18:40 18:46->18:

我需要在给定日期前再加10分钟:

givenDate = 2016-10-25 18:22:37
执行时:

newDate=$(date +'%Y-%m-%d %T' --date="$givenDate + 10 minutes")
echo $newDate
我得到:

2016-10-25 00:10:00

而不是

2016-10-25 18:32:37

第二个问题:如何将分钟数四舍五入,以便根据示例获得这些结果:

18:08->18:10

18:32->18:40

18:46->18:50

18:55->19:00


谢谢。

对于第一个问题,请按如下方式删除
+

date +'%Y-%m-%d %T' --date="$givenDate 10 minutes"
对于第二个问题,我们必须提取当前分钟的最后一位数字,然后使用模5计算要加的分钟数,使其四舍五入:

givenDate="2016-10-25 18:22:37"

minute=$(echo $givenDate | sed 's/.*\([0-9]\):..$/\1/')
rounder=$((5 - minute % 5))
date +'%Y-%m-%d %T' --date="$givenDate $rounder minutes"

请注意,秒数没有被考虑进去

谢谢你@Jean François你是我的英雄!:)