Bash 脚本shell如何向给定日期添加x分钟?
我需要在给定日期前再加10分钟: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:
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你是我的英雄!:)