假设今天的日期格式为 YYYYMMDDHHMMSS,例如 20160720152654。我想添加小时、分钟或秒。
添加 1 小时应将日期更改为 20160720162654 添加 1 分钟应将日期更改为 20160720152754 添加 1 秒应将日期更改为 20160720152655
这似乎给了我不正确的结果
d=日期+%Y%m%d%H%M%S
pd=$(($d + ($d % (15 * 60))))
echo $d
echo $pd
输出 20160720155141 20160720155482
最佳答案
您可以操纵输入以将其传递给 date -d
:
s='20160720162654'
# add 1 minute
date -d "${s:0:8} ${s:8:2}:${s:10:2}:${s:12:2} +1 min" '+%Y%m%d%H%M%S'
20160720112754
# add 1 sec
date -d "${s:0:8} ${s:8:2}:${s:10:2}:${s:12:2} +1 sec" '+%Y%m%d%H%M%S'
20160720112655
# add 1 hour
date -d "${s:0:8} ${s:8:2}:${s:10:2}:${s:12:2} +1 hour" '+%Y%m%d%H%M%S'
20160720122654
关于bash - 使用 bash 在 YYYYMMDDHHMMSS 中增加日期的小时/分钟/秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491986/