我需要在给定日期添加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
谢谢。
答案 0 :(得分:4)
对于第一个问题,请放弃+
,如下所示:
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"
请注意,未考虑秒数