15分钟前在shell

时间:2016-10-01 23:15:00

标签: bash shell date

我有一个时间戳,如7:00:00,这意味着早上7点。

我想编写一个返回06:45:00的简短命令,或简称06:45,最好使用date命令,以便我可以避免长shell脚本。你有什么优雅的解决方案吗?

我也在寻找24小时格式。例如,12:00:00 - 15分钟= 11:45:00。

2 个答案:

答案 0 :(得分:5)

使用GNU date,使用7:00:00 AM - 15 minutes作为d--date)字符串:

% date -d '7:00:00 AM - 15 minutes' '+%H:%M'
06:45

+%H:%M将输出格式设置为HH:MM

答案 1 :(得分:1)

在BSD变体上Date具有-v标志,可用于获取当前时间戳并显示正调整或负调整的结果。

这将从当前时间戳减去15分钟:

date -v -15M